| SLAM(5) | File Formats Manual | SLAM(5) |
NAME
SLAM — SLAM
configuration options
DESCRIPTION
System Layer Abstraction Modules is a collection of Nix modules for composing an operating base layer as well as high-level subsystems. Each SLAM import provides a set of configuration options, a set of derived configuration values, or both.
SERVICES
Importing modular services into
SLAM is encouraged and SLAM
service-managers are in turn exposed as modular services at
pkgs.alt.slam.service-modules.
When declaring SLAM services consider the following:
- Within either SLAM or SLAM service managers loaded as modular services:
- The primary service manager is declared at config.system.serviceManager.
- s6 services are declared at config.system.s6.rc.services.
- Synit daemons are declared at config.system.synit.services.
- Local modular services are declared at config.system.services.
- Within modular services only:
- Modular services are declared to the parent at config.services.
- An s6 service is declared at config.s6.rc.service.
- A Synit service is declared at config.synit.daemon.
OPTIONS
It covers only the modules imported at the moment it was generated and the set of available options is variable and depends on which modules are imported.
_module.args
Additional arguments passed to each module in addition to ones like lib, config, pkgs, and modulesPath.
This option is also available to all submodules. Submodules do not inherit args from their parent module, nor do they provide args to their parent module or sibling submodules. The sole exception to this is the argument name which is provided by parent modules to a submodule and contains the attribute name the submodule is bound to, or a unique generated name if it is not bound to an attribute.
Some arguments are already passed by default, of which the following cannot be changed with this option:
- lib
- The Nixpkgs library.
- config
- The results of all options after merging the values from all modules together.
- options
- The options declared in all modules.
- specialArgs
- The specialArgs argument passed to
lib.evalModules. - pkgs
- The Nixpkgs package set.
- All attributes of specialArgs
- Whereas option values can generally depend on other option values thanks
to laziness, this does not apply to imports, which
must be computed statically before anything else.
For this reason, callers of the module system can provide specialArgs which are available during import resolution.
specialArgs includes slamPath which is the location of the modules directory within the SLAM repositiory and modulesPath which is the location of the modules directory within the NixOS repository.
- type: lazy attribute set of raw value
- declared by:
- lib/modules.nix
boot.bootspec.enableValidation
Whether to enable the validation of bootspec documents for each build. This will introduce Go in the build-time closure as we are relying on Cuelang for schema validation. Enable this option if you want to ascertain that your documents are correct
boot.bootspec.extensions
User-defined data that extends the bootspec document.
To reduce incompatibility and prevent names from clashing between applications, it is highly recommended to use a unique namespace for your extensions.
- type: attribute set of anything
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/bootspec.nix
boot.bootspec.package
The package to use for bootspec.
boot.extraModulePackages
A list of additional packages supplying kernel modules.
- type: list of package
- default:
-
[ ]
- example:
-
[ config.boot.kernelPackages.nvidia_x11 ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/kernel.nix
boot.hardwareManager
Which hardware-manager to start on boot.
- type: one of mdevd, udev
- default:
-
"mdevd"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot
boot.init.pid1.argv
The PID 1 command line as a closure-list.
- type: attribute set of (submodule)
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/init.nix
boot.init.pid1.argv.<name>.deps
List of argument groups that must precede this one.
boot.init.pid1.argv.<name>.text
Group of arguments for the pid1 command-line.
- type: string or list of (string or absolute path)
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/init.nix
boot.init.pid1.env
Environment variables to start PID 1 with.
- type: attribute set of string
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/init.nix
boot.init.script
Stage 2 boot script.
- type: read-only absolute path
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/init.nix
boot.initrd.availableKernelModules
The set of kernel modules in the initial ramdisk used during the boot process. This set must include all modules necessary for mounting the root device. That is, it should include modules for the physical device (e.g., SCSI drivers) and for the file system (e.g., ext3). The set specified here is automatically closed under the module dependency relation, i.e., all dependencies of the modules list here are included automatically. The modules listed here are available in the initrd, but are only loaded on demand (e.g., the ext3 module is loaded automatically when an ext3 filesystem is mounted, and modules for PCI devices are loaded when they match the PCI ID of a device in your system). To force a module to be loaded, include it in boot.initrd.kernelModules.
- type: list of string
- default:
-
[ ]
- example:
-
[ "sata_nv" "ext3" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/kernel.nix
boot.initrd.compressor
The compressor to use on the initrd image. May be any of:
- The name of one of the predefined compressors, see pkgs/build-support/kernel/initrd-compressor-meta.nix for the definitions.
- A function which, given the nixpkgs package set, returns the path to a
compressor tool, e.g. ‘
pkgs: ${pkgs.pigz}/bin/pigz’ - (not recommended, because it does not work when cross-compiling) the full path to a compressor tool, e.g. ‘${pkgs.pigz}/bin/pigz’
- type: string or function that evaluates to a(n) string
- default:
zstdif the kernel supports it (5.9+),gzipif not- example:
-
"xz"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/initrd
boot.initrd.compressorArgs
Arguments to pass to the compressor for the initrd image, or null to use the compressor's defaults.
- type: null or (list of string)
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/initrd
boot.initrd.contents
Contents of the initrd.
boot.initrd.contents.*.source
Source of file content to inserting into the initrd.
boot.initrd.contents.*.target
Location of file content within the initrd.
boot.initrd.enable
Whether to enable the NixOS initial RAM disk (initrd). This may be needed to perform some initialisation tasks (like mounting network/encrypted file systems) before continuing the boot process.
boot.initrd.kernelModules
List of modules that are always loaded by the initrd.
boot.initrd.mountScript
Composite mount script.
- type: read-only unspecified value
- default:
- Concatenated execline.
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/initrd
boot.initrd.mountScripts
Execline snippets for mounting file-systems during stage 1.
- type: attribute set of (submodule)
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/initrd
boot.initrd.mountScripts.<name>.deps
List of dependencies. The script will run after these.
boot.initrd.mountScripts.<name>.text
Execline script to be enclosed by an "if" block.
- type: strings concatenated with 0
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/initrd
boot.initrd.package
the initrd to use for your system... use a module to build one
boot.initrd.supportedFilesystems."9p".enable
Whether to enable the 9P protocol.
boot.initrd.supportedFilesystems.btrfs.enable
Whether to enable btrfs.
boot.initrd.supportedFilesystems.btrfs.packages
Support packages for btrfs.
- type: list of package
- default:
-
[ pkgs.btrfs-progs ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/btrfs.nix
boot.initrd.supportedFilesystems.erofs.enable
Whether to enable EROFS.
boot.initrd.supportedFilesystems.ext2.enable
Whether to enable ext2.
boot.initrd.supportedFilesystems.ext2.packages
Support packages for ext2.
- type: list of package
- default:
-
[ pkgs.e2fsprogs ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/ext2.nix
boot.initrd.supportedFilesystems.ext4.enable
Whether to enable ext4.
boot.initrd.supportedFilesystems.ext4.packages
Support packages for ext4.
- type: list of package
- default:
-
[ pkgs.e2fsprogs ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/ext4.nix
boot.initrd.supportedFilesystems.f2fs.enable
Whether to enable f2fs.
boot.initrd.supportedFilesystems.f2fs.packages
Support packages for f2fs.
- type: list of package
- default:
-
[ pkgs.f2fs-tools ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/f2fs.nix
boot.initrd.supportedFilesystems.fuse.enable
Whether to enable FUSE.
boot.initrd.supportedFilesystems.none.enable
Whether to enable the file-system placeholder.
boot.initrd.supportedFilesystems.overlay.enable
Whether to enable overlayfs.
boot.initrd.supportedFilesystems.tmpfs.enable
Whether to enable tmpfs.
boot.initrd.supportedFilesystems.vfat.enable
Whether to enable FAT.
boot.initrd.supportedFilesystems.vfat.packages
Support packages for FAT file-systems.
boot.initrd.supportedFilesystems.xfs.enable
Whether to enable XFS.
boot.initrd.supportedFilesystems.xfs.packages
Support packages for XFS.
- type: list of package
- default:
-
[ pkgs.xfsprogs.bin ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/xfs.nix
boot.initrd.supportedFilesystems.zfs.enable
Whether to enable ZFS.
boot.initrd.supportedFilesystems.zfs.packages
Support packages for ZFS.
- type: list of package
- default:
-
[ pkgs.zfs ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/zfs.nix
boot.kernel.enable
Whether to enable the Linux kernel. This is useful for systemd-like containers which do not require a kernel.
boot.kernel.randstructSeed
Provides a custom seed for the RANDSTRUCT security option of the Linux kernel. Note that RANDSTRUCT is only enabled in NixOS hardened kernels. Using a custom seed requires building the kernel and dependent packages locally, since this customization happens at build time.
- type: string
- default:
-
""
- example:
-
"my secret seed"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/kernel.nix
boot.kernel.sysctl
Runtime parameters of the Linux kernel, as set by
sysctl(8). Note that sysctl parameters names must be
enclosed in quotes (e.g.
‘vm.swappiness’ instead of
‘vm.swappiness’). The value of each
parameter may be a string, integer, boolean, or null (signifying the option
will not appear at all).
- type: open submodule of attribute set of (sysctl option value)
- default:
-
{ } - example:
-
{ "net.ipv4.tcp_syncookies" = false; "vm.swappiness" = 60; } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/sysctl.nix
boot.kernel.sysctl."net.core.rmem_max"
The maximum receive socket buffer size in bytes. In case of conflicting values, the highest will be used.
- type: null or (unsigned integer, meaning >=0)
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/sysctl.nix
boot.kernel.sysctl."net.core.wmem_max"
The maximum send socket buffer size in bytes. In case of conflicting values, the highest will be used.
- type: null or (unsigned integer, meaning >=0)
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/sysctl.nix
boot.kernel.sysctl."vm.max_map_count"
The maximum number of memory map areas a process may have. In case of conflicting values, the highest will be used.
- type: null or (unsigned integer, meaning >=0)
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/sysctl.nix
boot.kernelModules
The set of kernel modules to be loaded in the second stage of the boot process. Note that modules that are needed to mount the root file system should be added to boot.initrd.availableKernelModules or boot.initrd.kernelModules.
boot.kernelPackages
This option allows you to override the Linux kernel used by NixOS. Since things like external kernel module packages are tied to the kernel you're using, it also overrides those. This option is a function that takes Nixpkgs as an argument (as a convenience), and returns an attribute set containing at the very least an attribute kernel. Additional attributes may be needed depending on your configuration. For instance, if you use the NVIDIA X driver, then it also needs to contain an attribute nvidia_x11.
Please note that we strictly support kernel versions that are maintained by the Linux developers only. More information on the availability of kernel versions is documented in the Linux section of the manual.
- type: raw value
- default:
-
pkgs.linuxPackages
- example:
-
pkgs.linuxKernel.packages.linux_5_10
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/kernel.nix
boot.kernelParams
Parameters added to the kernel command line.
- type: list of string, with spaces inside double quotes
- default:
-
[ ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/kernel.nix
boot.kernelPatches
A list of additional patches to apply to the kernel.
Every item should be an attribute set with the following attributes:
{
# descriptive name, required
name = "foo";
# path or derivation that contains the patch source
# (required, but can be null if only config changes
# are needed)
patch = ./foo.patch;
# attrset of extra configuration parameters without the CONFIG_ prefix
# (optional) values should generally be lib.kernel.yes,
# lib.kernel.no or lib.kernel.module
extraStructuredConfig = {
FOO = lib.kernel.yes;
};
# attrset of extra "features" the kernel is considered to have
# (may be checked by other NixOS modules, optional)
features = {
foo = true;
};
# extra configuration options in string form without the CONFIG_ prefix
# (optional, multiple lines allowed to specify multiple options)
# (deprecated, use extraStructuredConfig instead)
extraConfig = "FOO y";
}
There's a small set of existing kernel patches in Nixpkgs,
available as ‘pkgs.kernelPatches’,
that follow this format and can be used directly.
- type: list of (attribute set)
- default:
-
[ ]
- example:
-
[ { name = "foo"; patch = ./foo.patch; 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-..."; }); } ] - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/kernel.nix
boot.loader.efi.canTouchEfiVariables
Whether the installation process is allowed to modify EFI boot variables.
boot.loader.efi.efiSysMountPoint
Where the EFI System Partition is mounted.
boot.loader.installScripts
Execline scripts for bootloader installation.
- type: attribute set of ((submodule) or string convertible to it)
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/loader.nix
boot.loader.installScripts.<name>.deps
List of dependencies. The script will run after these.
boot.loader.installScripts.<name>.text
Execline script to be enclosed by an "if" block. The following variables will be substituted before execution: - $toplevel The top-level derivation being installed. - $boot The boot directory of the system installation.
- type: strings concatenated with 0
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/loader.nix
boot.modprobeConfig.enable
Whether to enable modprobe config. This is useful for systems like containers which do not require a kernel.
boot.supportedFilesystems."9p".enable
Whether to enable the 9P protocol.
boot.supportedFilesystems.btrfs.enable
Whether to enable btrfs.
boot.supportedFilesystems.btrfs.packages
Support packages for btrfs.
- type: list of package
- default:
-
[ pkgs.btrfs-progs ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/btrfs.nix
boot.supportedFilesystems.efivarfs.enable
Whether to enable EFI varfs.
boot.supportedFilesystems.erofs.enable
Whether to enable EROFS.
boot.supportedFilesystems.ext2.enable
Whether to enable ext2.
boot.supportedFilesystems.ext2.packages
Support packages for ext2.
- type: list of package
- default:
-
[ pkgs.e2fsprogs ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/ext2.nix
boot.supportedFilesystems.ext4.enable
Whether to enable ext4.
boot.supportedFilesystems.ext4.packages
Support packages for ext4.
- type: list of package
- default:
-
[ pkgs.e2fsprogs ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/ext4.nix
boot.supportedFilesystems.f2fs.enable
Whether to enable f2fs.
boot.supportedFilesystems.f2fs.packages
Support packages for f2fs.
- type: list of package
- default:
-
[ pkgs.f2fs-tools ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/f2fs.nix
boot.supportedFilesystems.fuse.enable
Whether to enable FUSE.
boot.supportedFilesystems."fuse.mergerfs".enable
Whether to enable mergefs.
boot.supportedFilesystems.none.enable
Whether to enable the file-system placeholder.
boot.supportedFilesystems.overlay.enable
Whether to enable overlayfs.
boot.supportedFilesystems.tmpfs.enable
Whether to enable tmpfs.
boot.supportedFilesystems.vfat.enable
Whether to enable FAT.
boot.supportedFilesystems.vfat.packages
Support packages for FAT file-systems.
boot.supportedFilesystems.xfs.enable
Whether to enable XFS.
boot.supportedFilesystems.xfs.packages
Support packages for XFS.
- type: list of package
- default:
-
[ pkgs.xfsprogs.bin ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/xfs.nix
boot.supportedFilesystems.zfs.enable
Whether to enable ZFS.
boot.supportedFilesystems.zfs.packages
Support packages for ZFS.
- type: list of package
- default:
-
[ pkgs.zfs ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/zfs.nix
boot.zfs.importPools
List of ZFS pools to import at boot. Defaults to the pools necessary for booting.
- type: list of string
- example:
-
[ "jug" "bucket" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/zfs.nix
boot.zfs.loadKeys
List of ZFS dataset names to load keys for during boot.
documentation.dev.enable
Whether to enable install developer documentation.
documentation.doc.enable
Whether to install share/doc directories into the system environment.
- type: unspecified value
- default:
-
"config.documentation.enable"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/documentation
documentation.enable
Whether to enable install system documentation.
documentation.info.enable
Whether to install info pages into the system environment.
- type: unspecified value
- default:
-
"config.documentation.enable"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/documentation
documentation.man.enable
Whether to install manual pages into the system environment.
- type: unspecified value
- default:
-
"config.documentation.enable"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/documentation
documentation.man.package
Package providing the man program.
documentation.manual.package
Package of this manual.
- type: read-only unspecified value
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/documentation
documentation.manual.transforms
List of functions to apply to each option declarations
environment.etc
Set of files that have to be linked in /etc.
- type: attribute set of (submodule)
- default:
-
{ } - example:
-
{ example-configuration-file = { source = "/nix/store/.../etc/dir/file.conf.example"; mode = "0440"; }; "default/useradd".text = "GROUP=100 ..."; } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/environment/etc/options.nix
environment.etc.<name>.enable
Whether this /etc file should be generated. This option allows specific /etc files to be disabled.
environment.etc.<name>.gid
GID of created file. Only takes effect when the file is copied
(that is, the mode is not
‘symlink’).
environment.etc.<name>.group
Group 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.
environment.etc.<name>.mode
If set to something else than
‘symlink’, the file is copied instead
of symlinked, with the given file mode.
environment.etc.<name>.source
Path of the source file.
environment.etc.<name>.target
Name of symlink (relative to /etc). Defaults to the attribute name.
environment.etc.<name>.text
Text of the file.
- type: null or strings concatenated with 0
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/environment/etc/options.nix
environment.etc.<name>.uid
UID of created file. Only takes effect when the file is copied
(that is, the mode is not ‘symlink’
).
environment.etc.<name>.user
User 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.
environment.extraOutputsToInstall
List of package outputs to install. If not specified then only the default outputs are installed and outputs such as "doc" or "man" are not.
- type: list of string
- default:
-
[ ]
- example:
-
[ "man" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/environment/path
environment.extraSetup
Shell fragments to be run after the system environment has been
created. This should only be used for things that need to modify the
internals of the environment, e.g. generating MIME caches. The environment
being built can be accessed at the out environment
variable.
- type: strings concatenated with 0
- default:
-
""
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/environment/path
environment.libDirs
List of directories to symlink into /lib.
- type: list of absolute path
- default:
-
[ ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/environment/links.nix
environment.path
Composite package produced by
buildEnv.
- type: read-only absolute path
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/environment/path
environment.pathsToLink
List of directories to be symlinked in /run/current-system/sw.
- type: list of string
- default:
-
[ ]
- example:
-
[ "/" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/environment/path
environment.shells
List of packages to register in /etc/shells.
- type: list of (package or absolute path)
- default:
-
[ ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/environment/shells
environment.systemPackages
List of packages available in the standard system environment.
fileSystems
The file systems to be mounted. It must include an entry for the
root directory ( ‘mountPoint = /’ ).
Each entry in the list is an attribute set with the following fields:
mountPoint, device,
fsType (a file system type recognised by
mount; 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(8) ).
- type: attribute set of (submodule)
- default:
-
{ } - example:
-
{ "/".device = "/dev/hda1"; "/data" = { device = "/dev/hda2"; fsType = "ext3"; options = [ "data=journal" ]; }; "/bigdisk".label = "bigdisk"; } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/overlayfs.nix
https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/options.nix
fileSystems.<name>.depends
List of paths that should be mounted before this one. This filesystem's device and mountPoint are always checked and do not need to be included explicitly. If a path is added to this list, any other filesystem whose mount point is a parent of the path will be mounted before this filesystem. The paths do not need to actually be the mountPoint of some other filesystem.
- type: list of string (with check: non-empty without trailing slash)
- default:
-
[ ]
- example:
-
[ "/persist" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/options.nix
fileSystems.<name>.device
Location of the device.
- type: null or non-empty string
- default:
-
null
- example:
-
"/dev/sda"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/options.nix
fileSystems.<name>.fsType
Type of the file system.
- type: non-empty string
- default:
-
"auto"
- example:
-
"ext3"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/options.nix
fileSystems.<name>.label
Label of the device (if any).
- type: null or non-empty string
- default:
-
null
- example:
-
"root-partition"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/options.nix
fileSystems.<name>.mountPoint
Location of the mounted file system.
- type: string (with check: non-empty without trailing slash)
- example:
-
"/mnt/usb"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/options.nix
fileSystems.<name>.neededForBoot
Whether this file-system must be mounted before entering stage 2 of booting.
fileSystems.<name>.noCheck
Disable running fsck on this filesystem.
fileSystems.<name>.options
Options used to mount the file system.
- type: non-empty (list of non-empty string)
- default:
-
[ "defaults" ]
- example:
-
[ "data=journal" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/options.nix
fileSystems.<name>.overlay.lowerdir
The list of path(s) to the lowerdir(s).
To create a writable overlay, you MUST provide a upperdir and a workdir.
You can create a read-only overlay when you provide multiple (at least 2!) lowerdirs and neither an upperdir nor a workdir.
- type: null or (non-empty (list of (string or path in the Nix store)))
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/filesystems/overlayfs.nix
fileSystems.<name>.overlay.upperdir
The path to the upperdir.
If this is null, a read-only overlay is created using the lowerdir.
If the filesystem is neededForBoot, this
will be prefixed with /sysroot, unless
useStage1BaseDirectories is set to
‘true’.
If you set this to some value you MUST also set workdir.
fileSystems.<name>.overlay.useStage1BaseDirectories
If enabled, lowerdir, upperdir and workdir will be prefixed with /sysroot.
Disabling this can be useful to create an overlay over directories which aren't on the real root.
Disabling this does not work with the scripted (i.e. non-systemd) initrd.
fileSystems.<name>.overlay.workdir
The path to the workdir.
If the filesystem is neededForBoot, this
will be prefixed with /sysroot, unless
useStage1BaseDirectories is set to
‘true’.
This MUST be set if you set upperdir.
fonts.enableDefaultPackages
Enable a basic set of fonts providing several styles and families and reasonable coverage of Unicode.
- type: boolean
- default:
-
false
- declared by:
- /nix/store/ci5r8q32x2y8zcab0bha5yj7474ysr76-source/nixos/modules/config/fonts/packages.nix
fonts.fontconfig.allowBitmaps
Allow bitmap fonts. Set to
‘false’ to ban all bitmap fonts.
fonts.fontconfig.allowType1
Allow Type-1 fonts. Default is
‘false’ because of poor rendering.
fonts.fontconfig.antialias
Enable font antialiasing. At high resolution (> 200 DPI), antialiasing has no visible effect; users of such displays may want to disable this option.
fonts.fontconfig.cache32Bit
Generate system fonts cache for 32-bit applications.
fonts.fontconfig.defaultFonts.emoji
System-wide default emoji font(s). Multiple fonts may be listed in case a font does not support all emoji.
Note that fontconfig matches color emoji fonts preferentially, so if you want to use a black and white font while having a color font installed (eg. Noto Color Emoji installed alongside Noto Emoji), fontconfig will still choose the color font even when it is later in the list.
- type: list of string
- default:
-
[ "Noto Color Emoji" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/fonts/fontconfig.nix
fonts.fontconfig.defaultFonts.monospace
System-wide default monospace font(s). Multiple fonts may be listed in case multiple languages must be supported.
- type: list of string
- default:
-
[ "DejaVu Sans Mono" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/fonts/fontconfig.nix
fonts.fontconfig.defaultFonts.sansSerif
System-wide default sans serif font(s). Multiple fonts may be listed in case multiple languages must be supported.
- type: list of string
- default:
-
[ "DejaVu Sans" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/fonts/fontconfig.nix
fonts.fontconfig.defaultFonts.serif
System-wide default serif font(s). Multiple fonts may be listed in case multiple languages must be supported.
- type: list of string
- default:
-
[ "DejaVu Serif" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/fonts/fontconfig.nix
fonts.fontconfig.enable
If enabled, a Fontconfig configuration file will be built pointing to a set of default fonts. If you don't care about running X11 applications or any other program that uses Fontconfig, you can leave this option off and prevent a dependency on all those fonts.
fonts.fontconfig.hinting.autohint
Enable the autohinter in place of the default interpreter. The results are usually lower quality than correctly-hinted fonts, but better than unhinted fonts.
fonts.fontconfig.hinting.enable
Enable font hinting. Hinting aligns glyphs to pixel boundaries to improve rendering sharpness at low resolution. At high resolution (> 200 dpi) hinting will do nothing (at best); users of such displays may want to disable this option.
fonts.fontconfig.hinting.style
Hintstyle is the amount of font reshaping done to line up to the grid.
slight will make the font more fuzzy to line up to the grid but will be better in retaining font shape, while full will be a crisp font that aligns well to the pixel grid but will lose a greater amount of font shape.
- type: one of none, slight, medium, full
- default:
-
"slight"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/fonts/fontconfig.nix
fonts.fontconfig.includeUserConf
Include the user configuration from ~/.config/fontconfig/fonts.conf or ~/.config/fontconfig/conf.d.
fonts.fontconfig.localConf
System-wide customization file contents, has higher priority than defaultFonts settings.
- type: strings concatenated with 0
- default:
-
""
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/fonts/fontconfig.nix
fonts.fontconfig.subpixel.lcdfilter
FreeType LCD filter. At high resolution (> 200 DPI), LCD
filtering has no visible effect; users of such displays may want to select
none.
- type: one of none, default, light, legacy
- default:
-
"default"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/fonts/fontconfig.nix
fonts.fontconfig.subpixel.rgba
Subpixel order. The overwhelming majority of displays are
rgb in their normal orientation. Select
vrgb for mounting such a display 90 degrees
clockwise from its normal orientation or vbgr for
mounting 90 degrees counter-clockwise. Select bgr in
the unlikely event of mounting 180 degrees from the normal orientation.
Reverse these directions in the improbable event that the display's native
subpixel order is bgr.
- type: one of rgb, bgr, vrgb, vbgr, none
- default:
-
"none"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/fonts/fontconfig.nix
fonts.fontconfig.useEmbeddedBitmaps
Use embedded bitmaps in fonts like Calibri.
fonts.packages
List of primary font packages.
- type: list of absolute path
- default:
-
[ ]
- example:
-
[ pkgs.dejavu_fonts ]
- declared by:
- /nix/store/ci5r8q32x2y8zcab0bha5yj7474ysr76-source/nixos/modules/config/fonts/packages.nix
hardware.console.binaryKeyMap
Binary keymap file. If unset then this is generated from the hardware.console.keyMap option.
- type: absolute path
- default:
-
"Binary form of hardware.console.keyMap."
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/hardware/console.nix
hardware.console.enable
Whether to configure the console at boot.
hardware.console.keyMap
The keyboard mapping table for the virtual consoles. This option may have no effect if hardware.console.binaryKeyMap is set.
- type: string or absolute path
- default:
-
"defkeymap"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/hardware/console.nix
hardware.console.setvesablank
Turn VESA screen blanking on or off.
hardware.firmware
List of packages containing firmware files. Such files will be loaded automatically if the kernel asks for them (i.e., when it has detected specific hardware that requires firmware to function). If multiple packages contain firmware files with the same name, the first package in the list takes precedence. Note that you must rebuild your system if you add files to any of these directories.
hardware.graphics.enable
Whether to enable hardware accelerated graphics drivers.
This is required to allow most graphical applications and environments to use hardware rendering, video encode/decode acceleration, etc.
This option should be enabled by default by the corresponding modules, so you do not usually have to set it yourself.
hardware.graphics.enable32Bit
On 64-bit systems, whether to also install 32-bit drivers for 32-bit applications (such as Wine).
hardware.graphics.extraPackages
Additional packages to add to the default graphics driver lookup path. This can be used to add OpenCL drivers, VA-API/VDPAU drivers, etc.
- type: list of package
- default:
-
[ ]
- example:
-
with pkgs; [ intel-media-driver intel-ocl intel-vaapi-driver ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/hardware/graphics.nix
hardware.graphics.extraPackages32
Additional packages to add to 32-bit graphics driver lookup path on 64-bit systems. Used when enable32Bit is set. This can be used to add OpenCL drivers, VA-API/VDPAU drivers, etc.
- type: list of package
- default:
-
[ ]
- example:
-
with pkgs.pkgsi686Linux; [ intel-media-driver intel-vaapi-driver ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/hardware/graphics.nix
hardware.i2c.enable
Whether to enable support for i2c devices. Access to these devices is granted to users in the hardware.i2c.group group.
hardware.i2c.group
Group to own the /dev/i2c-* devices.
i18n.defaultLocale
The 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.
- type: string
- default:
-
"C.UTF-8"
- example:
-
"en_IE.UTF-8"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/i18n
i18n.extraLocaleSettings
A set of additional system-wide locale settings other than
LANG which can be configured with
i18n.defaultLocale.
- type: attribute set of string
- default:
-
{ } - example:
-
{ LC_MESSAGES = "en_IE/UTF-8"; LC_NUMERIC = "kn_IN/UTF-8"; } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/i18n
i18n.glibcLocales
Customized pkg.glibcLocales package. Changing this option can disable handling of i18n.defaultLocale and supportedLocale.
- type: absolute path
- default:
-
pkgs.glibcLocales.override { allLocales = lib.any (x: x == "all") config.i18n.supportedLocales; locales = config.i18n.supportedLocales; } - example:
-
pkgs.glibcLocales
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/i18n
i18n.supportedLocales
List 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.
- type: list of string
- default:
-
lib.unique (builtins.map (l: (lib.replaceStrings [ "utf8" "utf-8" "UTF8" ] [ "UTF-8" "UTF-8" "UTF-8" ] l) + "/UTF-8") ( [ "C.UTF-8" config.i18n.defaultLocale ] ++ (lib.attrValues (lib.filterAttrs (n: v: n != "LANGUAGE") config.i18n.extraLocaleSettings)) )) - example:
-
[ "kk_KZ/PT154" "kk_KZ.UTF-8/UTF-8" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/i18n
lib
This option allows modules to define helper functions, constants, etc.
- type: attribute set of (attribute set)
- default:
-
{ } - declared by:
- /nix/store/ci5r8q32x2y8zcab0bha5yj7474ysr76-source/nixos/modules/misc/lib.nix
meta.maintainers
List of maintainers of each module. This option should be defined at most once per module.
The option value is not a list of maintainers, but an attribute set that maps module file names to lists of maintainers.
- type: list of (maintainer)
- default:
-
[ ]
- example:
-
[ lib.maintainers.alice lib.maintainers.bob ]
- declared by:
- /nix/store/ci5r8q32x2y8zcab0bha5yj7474ysr76-source/modules/generic/meta-maintainers.nix
networking.domain
Primary network domain name for this system.
networking.fqdn
Primary fully qualified domain name for this system.
networking.hostId
The 32-bit host ID of the machine, formatted as 8 hexadecimal characters.
You should try to make this ID unique among your machines. You can generate a random 32-bit ID using the following commands:
head -c 8 /etc/machine-id
head -c4 /dev/urandom | od -A none -t x4
- type: null or string
- default:
-
null
- example:
-
"4e98920d"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/networking
networking.hostName
Internal host name for this system.
networking.hosts
Locally defined maps of hostnames to IP addresses.
- type: attribute set of list of string
- example:
-
{ "127.0.0.1" = [ "foo.bar.baz" ]; "192.168.0.2" = [ "fileserver.local" "nameserver.local" ]; }; - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/networking
networking.ipv4.addresses
List of statically configured IPv4 addresses.
- type: list of (submodule)
- default:
-
[ ]
- example:
-
[ { device = "eth0"; local = "192.0.2.7"; prefixLength = 24; } { device = "eth1"; local = "203.0.113.175"; prefixLength = 32; } ] - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/networking
networking.ipv4.addresses.*.device
Network attachment device.
networking.ipv4.addresses.*.local
Local address.
networking.ipv4.addresses.*.prefixLength
Network prefix length.
networking.ipv4.routes
List of statically configured IPv6 routes.
- type: list of (submodule)
- default:
-
[ ]
- example:
-
[ { device = "eth0"; prefix = "192.0.2.0"; prefixLengh = 24; } { device = "eth0"; gateway = "192.0.2.1"; } ] - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/networking
networking.ipv4.routes.*.device
Network attachment device.
networking.ipv4.routes.*.gateway
Network gateway to use as a default route.
networking.ipv4.routes.*.prefix
Route addressing prefix.
networking.ipv4.routes.*.prefixLength
Network prefix length.
- type: null or signed integer
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/networking
networking.ipv6.addresses
List of statically configured IPv6 addresses.
- type: list of (submodule)
- default:
-
[ ]
- example:
-
[ { device = "eth0"; local = "2001:db8:1::3"; prefixLength = 64; } { device = "eth1"; local = "fd12:3456::7"; prefixLength = 48; } ] - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/networking
networking.ipv6.addresses.*.device
Network attachment device.
networking.ipv6.addresses.*.local
Local address.
networking.ipv6.addresses.*.prefixLength
Network prefix length.
networking.ipv6.routes
List of statically configured IPv6 routes.
- type: list of (submodule)
- default:
-
[ ]
- example:
-
[ { device = "eth0"; prefix = "2001:db8:1::"; prefixLengh = 64; } { device = "eth0"; gateway = "2001:db8:1::1"; } ] - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/networking
networking.ipv6.routes.*.device
Network attachment device.
networking.ipv6.routes.*.gateway
Network gateway to use as a default route.
networking.ipv6.routes.*.prefix
Route addressing prefix.
networking.ipv6.routes.*.prefixLength
Network prefix length.
- type: null or signed integer
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/networking
networking.wireless.networks
The network definitions to automatically connect to when
wpa_supplicant is running. If this parameter is left
empty wpa_supplicant will use
/etc/wpa_supplicant.conf as the configuration
file.
- type: attribute set of (submodule)
- default:
-
{ } - example:
-
{ # SSID with no spaces or special characters # (password will be written to /nix/store!) echelon = { psk = "abcdefgh"; }; # safe version of the above: read PSK from the # variable psk_echelon, defined in secretsFile, # this won't leak into /nix/store echelon = { pskRaw = "ext:psk_echelon"; }; # SSID with spaces and/or special characters # (password will be written to /nix/store!) }; "echelon's AP" = { psk = "ijklmnop"; }; # Public wireless network "free.wifi" = { }; } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/wpa_supplicant
networking.wireless.networks.<name>.auth
Use this option to configure advanced authentication methods like EAP. See wpa_supplicant.conf(5) for example configurations.
ext:secretname for secrets.- type: null or string
- default:
-
null
- example:
-
eap=PEAP identity="user@example.com" password=ext:example_password
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/wpa_supplicant
networking.wireless.networks.<name>.authProtocols
The list of authentication protocols accepted by this network.
This corresponds to the key_mgmt option in
wpa_supplicant.
- type: list of (one of WPA-PSK, WPA-EAP, IEEE8021X, NONE, WPA-NONE, FT-PSK, FT-EAP, FT-EAP-SHA384, WPA-PSK-SHA256, WPA-EAP-SHA256, SAE, FT-SAE, WPA-EAP-SUITE-B, WPA-EAP-SUITE-B-192, OSEN, FILS-SHA256, FILS-SHA384, FT-FILS-SHA256, FT-FILS-SHA384, OWE, DPP)
- default:
-
[ "WPA-PSK" "WPA-EAP" "SAE" "FT-PSK" "FT-EAP" "FT-SAE" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/wpa_supplicant
networking.wireless.networks.<name>.extraConfig
Extra configuration lines appended to the network block. See wpa_supplicant.conf(5) for available options.
- type: string
- default:
-
""
- example:
-
bssid_blacklist=02:11:22:33:44:55 02:22:aa:44:55:66
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/wpa_supplicant
networking.wireless.networks.<name>.hidden
Set this to ‘true’ if the
SSID of the network is hidden.
- type: boolean
- default:
-
false
- example:
-
{ echelon = { hidden = true; psk = "abcdefgh"; }; } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/wpa_supplicant
networking.wireless.networks.<name>.priority
By default, all networks will get same priority group (0). If some of the networks are more desirable, this field can be used to change the order in which wpa_supplicant goes through the networks when selecting a BSS. The priority groups will be iterated in decreasing priority (i.e., the larger the priority value, the sooner the network is matched against the scan results). Within each priority group, networks will be selected based on security policy, signal strength, etc.
- type: null or signed integer
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/wpa_supplicant
networking.wireless.networks.<name>.psk
The network's pre-shared key in plaintext defaulting to being a network without any authentication.
- type: null or string matching the pattern [[:print:]]{8,63}
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/wpa_supplicant
networking.wireless.networks.<name>.pskRaw
Either the raw pre-shared key in hexadecimal format or the name of the secret (as defined inside the secretsFile and prefixed with Dq ext: ) containing the network pre-shared key.
- type: null or string matching the pattern ([[:xdigit:]]{64})|(ext:[^=]+)
- default:
-
null
- example:
-
"ext:name_of_the_secret_here"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/wpa_supplicant
nixpkgs.pkgs
- type: evaluation of Nixpkgs; the top level attribute set of packages
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/nixpkgs
programs.bash.enable
Whether to enable [bash](https://www.gnu.org/software/bash/).
programs.bash.package
The package to use for `bash`.
- type: package
- default:
-
pkgs.bashInteractive
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/bash
programs.brightnessctl.enable
Whether to enable [brightnessctl](https://github.com/Hummer12007/brightnessctl).
programs.brightnessctl.package
The package to use for `brightnessctl`.
- type: package
- default:
-
pkgs.brightnessctl.override { logindSupport = config.services.elogind.enable; udevSupport = config.services.udev.enable; systemdLibs = config.services.elogind.package; } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/brightnessctl
programs.doas.enable
Whether to enable [doas](https://github.com/Duncaen/OpenDoas).
programs.doas.package
The package to use for `doas`.
programs.fish.enable
Whether to enable [fish](https://fishshell.com/).
programs.fish.package
The package to use for `fish`.
programs.gnome-keyring.enable
Whether to enable [gnome-keyring](https://gitlab.gnome.org/GNOME/gnome-keyring).
programs.grub.enable
Whether to enable GRUB2 bootloader.
programs.hyprland.enable
Whether to enable [hyprland](https://github.com/hyprwm/Hyprland).
programs.hyprland.package
The package to use for `hyprland`.
programs.hyprlock.enable
Whether to enable [hyprlock](https://github.com/hyprwm/hyprlock).
programs.hyprlock.package
The package to use for `hyprlock`.
programs.labwc.enable
Whether to enable [labwc](https://github.com/labwc/labwc).
programs.labwc.package
The package to use for `labwc`.
programs.limine.additionalFiles
A set of files to be copied to {file}`/boot`. Each attribute name denotes the destination file name in {file}`/boot`, while the corresponding attribute value specifies the source file.
- type: attribute set of absolute path
- default:
-
{ } - example:
-
{ "efi/memtest86/memtest86.efi" = "${pkgs.memtest86-efi}/BOOTX64.efi"; } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/limine
programs.limine.biosDevice
Device to install the BIOS version of limine on.
programs.limine.biosSupport
Whether or not to install limine for BIOS.
- type: boolean
- default:
-
!config.programs.limine.efiSupport && pkgs.stdenv.hostPlatform.isx86
- example:
-
true
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/limine
programs.limine.debug
Whether to enable debug logging.
programs.limine.efiInstallAsRemovable
Whether or not to install the limine EFI files as removable.
- type: boolean
- default:
-
!config.boot.loader.efi.canTouchEfiVariables
- example:
-
true
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/limine
programs.limine.efiSupport
Whether or not to install the limine EFI files.
- type: boolean
- default:
-
pkgs.stdenv.hostPlatform.isEfi
- example:
-
true
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/limine
programs.limine.enable
Whether to enable [limine](https://limine-bootloader.org/) as the system bootloader.
programs.limine.enrollConfig
Whether or not to enroll the config. Only works on EFI!
- type: boolean
- default:
-
programs.limine.settings.hash_mismatch_panic
- example:
-
true
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/limine
programs.limine.extraEntries
A string which is appended to the end of limine.conf. The config format can be found [here](https://codeberg.org/Limine/Limine/src/branch/v10.x/CONFIG.md).
- type: strings concatenated with 0
- default:
-
""
- example:
-
/memtest86 protocol: chainload path: boot():///efi/memtest86/memtest86.efi
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/limine
programs.limine.force
Force installation even if the safety checks fail, use absolutely only if necessary!
programs.limine.maxGenerations
Maximum number of latest generations in the boot menu. Useful to prevent boot partition of running out of disk space. `null` means no limit i.e. all generations that were not garbage collected yet.
- type: null or signed integer
- default:
-
null
- example:
-
50
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/limine
programs.limine.package
The package to use for `limine`.
programs.limine.partitionIndex
The 1-based index of the dedicated partition for limine's second stage.
- type: null or signed integer
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/limine
programs.limine.settings
`limine` configuration. See [upstream documentation](https://codeberg.org/Limine/Limine/src/branch/v10.x/CONFIG.md) for additional details.
- type: open submodule of attribute set of (atom (null, bool, int, float or string))
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/limine
programs.limine.settings.editor_enabled
If 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. :::
programs.limine.settings.hash_mismatch_panic
If set to `false`, do not panic if there is a hash mismatch for a file, but print a warning instead.
programs.limine.settings.timeout
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.
- type: signed integer or value no (singular enum)
- default:
-
5
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/limine
programs.limine.settings.wallpaper
A list of wallpapers. If more than one is specified, a random one will be selected at boot.
- type: list of absolute path
- default:
-
[ ]
- example:
-
[ pkgs.nixos-artwork.wallpapers.simple-dark-gray-bootloader.gnomeFilePath ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/limine
programs.limine.settings.wallpaper_style
The style which will be used to display the wallpaper image.
- type: one of centered, streched, tiled
- default:
-
"streched"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/limine
programs.limine.validateChecksums
Whether to validate file checksums before booting.
programs.niri.enable
Whether to enable [niri](https://github.com/YaLTeR/niri).
programs.niri.package
The package to use for `niri`.
programs.openresolv.enable
Whether to enable [openresolv](https://roy.marples.name/projects/openresolv).
programs.openresolv.package
The package to use for `openresolv`.
programs.openresolv.settings
openresolv configuration. See
resolvconf.conf(5) for additional details.
- type: attribute set of (atom (null, bool, int, float or string) or a non-empty list of them)
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/openresolv
programs.regreet.compositor.environment
Environment variables to pass to `cage`. See [upstream documentation](https://github.com/cage-kiosk/cage/blob/master/cage.1.scd#environment) for additional details.
- type: attribute set of string
- default:
-
{ } - example:
-
{ XKB_DEFAULT_LAYOUT = "us"; XKB_DEFAULT_VARIANT = "dvorak"; } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/regreet
programs.regreet.compositor.extraArgs
Additional arguments to pass to `cage`. See [upstream documentation](https://github.com/cage-kiosk/cage/blob/master/cage.1.scd#options) for additional details.
programs.regreet.compositor.package
The package to use for `cage`.
programs.regreet.debug
Whether to enable debug logging.
programs.regreet.enable
Whether to enable [regreet](https://github.com/rharish101/ReGreet).
::: {.note} `regreet` will be run using [cage](https://www.hjdskes.nl/projects/cage/) as a compositor and can be configured using the `programs.regreet.compositor.*` options. :::
programs.regreet.package
The package to use for `regreet`.
programs.regreet.settings
`regreet` configuration. See [upstream documentation](https://github.com/rharish101/ReGreet/blob/main/regreet.sample.toml) for additional details.
programs.seahorse.enable
Whether to enable [seahorse](https://gitlab.gnome.org/GNOME/seahorse).
programs.shadow.enable
Whether to enable [shadow](https://github.com/shadow-maint/shadow).
::: {.warning} The `shadow` authentication suite provides critical programs such as `su`, `login`, `passwd`. :::
programs.shadow.package
The package to use for `shadow`.
programs.shadow.settings
shadow configuration. See
login.defs(5) for additional details.
- type: open submodule of attribute set of (atom (null, bool, int, float or string))
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/shadow
programs.shadow.settings.DEFAULT_HOME
Indicate if login is allowed if we can't cd to the home directory.
programs.shadow.settings.ENCRYPT_METHOD
This defines the system default encryption algorithm for encrypting passwords.
- type: one of YESCRYPT, SHA512, SHA256, MD5, DES
- default:
-
"YESCRYPT"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/shadow
programs.shadow.settings.GID_MAX
Range of group IDs used for the creation of regular groups by useradd, groupadd, or newusers.
programs.shadow.settings.GID_MIN
Range of group IDs used for the creation of regular groups by useradd, groupadd, or newusers.
programs.shadow.settings.SYS_GID_MAX
Range of group IDs used for the creation of system groups by useradd, groupadd, or newusers
programs.shadow.settings.SYS_GID_MIN
Range of group IDs used for the creation of system groups by useradd, groupadd, or newusers
programs.shadow.settings.SYS_UID_MAX
Range of user IDs used for the creation of system users by useradd or newusers.
programs.shadow.settings.SYS_UID_MIN
Range of user IDs used for the creation of system users by useradd or newusers.
programs.shadow.settings.TTYGROUP
The terminal permissions: the login tty will be owned by the TTYGROUP group, and the permissions will be set to TTYPERM.
programs.shadow.settings.TTYPERM
The terminal permissions: the login tty will be owned by the TTYGROUP group, and the permissions will be set to TTYPERM.
programs.shadow.settings.UID_MAX
Range of user IDs used for the creation of regular users by useradd or newusers.
programs.shadow.settings.UID_MIN
Range of user IDs used for the creation of regular users by useradd or newusers.
programs.shadow.settings.UMASK
The file mode creation mask is initialized to this value.
programs.sudo.enable
Whether to enable [sudo](https://www.sudo.ws/).
programs.sudo.package
The package to use for `sudo`.
programs.sway.enable
Whether to enable [sway](https://swaywm.org).
programs.sway.package
The package to use for `sway`.
programs.virtualbox.enable
Whether to enable [virtualbox](https://www.virtualbox.org/).
::: {.note} In order to pass USB devices from the host to guests, a user needs to be added to the `vboxusers` group. :::
programs.virtualbox.package
The package to use for `virtualbox`.
programs.zzz.enable
Whether to enable [zzz](https://github.com/jirutka/zzz).
programs.zzz.package
The package to use for `zzz`.
- type: package
- default:
-
<derivation zzz-0.2.0>
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/zzz
providers.bootloader.backend
The selected module which should implement functionality for the providers.bootloader contract.
providers.bootloader.installHook
The full path to a program of your choosing which performs the bootloader installation process.
The program will be called with an argument pointing to the output of the system's toplevel.
- type: absolute path
- default:
-
pkgs.writeShellScript "no-bootloader" '' echo 'Warning: do not know how to make this configuration bootable; please enable a boot loader.' 1>&2
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/providers/bootloader
providers.privileges.backend
The selected module which should implement functionality for the providers.privileges contract.
- type: one of sudo, doas, none
- default:
-
"none"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/sudo/providers.privileges.nix
https://git.informatics.coop/projects/slam/src/branch/trunk/modules/programs/doas/providers.privileges.nix
https://git.informatics.coop/projects/slam/src/branch/trunk/modules/providers/privileges
providers.privileges.command
The command to be used by modules requiring privilege escalation.
- type: main program, path or command
- example:
-
"/run/wrappers/bin/sudo"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/providers/privileges
providers.privileges.rules
A list of rules which provide a way to temporarily elevate the privileges of a command for a given user or group.
providers.privileges.rules.*.args
Arguments that must be provided to the command. When empty, the command must be run without any arguments.
providers.privileges.rules.*.command
The command the user or group members are allowed to run.
::: {.note} It is best practice to specify absolute paths. :::
- type: main program, path or command
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/providers/privileges
providers.privileges.rules.*.groups
The groups that are able to run this command.
- type: list of non-empty string
- default:
-
[ ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/providers/privileges
providers.privileges.rules.*.requirePassword
Whether the user is required to enter a password.
providers.privileges.rules.*.runAs
The user the command is allowed to run as, or `"*"` for allowing the command to run as any user.
providers.privileges.rules.*.users
The users that are able to run this command.
- type: list of non-empty string
- default:
-
[ ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/providers/privileges
providers.resumeAndSuspend.backend
The selected module which should implement functionality for the providers.resumeAndSuspend contract.
providers.resumeAndSuspend.hooks
A set of hooks which are to be run on system _suspend_ or _resume_.
- type: attribute set of (submodule)
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/providers/resume-and-suspend
providers.resumeAndSuspend.hooks.<name>.action
Shell commands to execute when the `event` is triggered.
- type: strings concatenated with 0
- default:
-
""
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/providers/resume-and-suspend
providers.resumeAndSuspend.hooks.<name>.enable
Whether this hook should be executed on the given `event`.
providers.resumeAndSuspend.hooks.<name>.event
The event type.
providers.resumeAndSuspend.hooks.<name>.priority
Order of this hook in relation to the others. The semantics are the same as with `lib.mkOrder`. Smaller values are inserted first.
- type: integer between 0 and 9999 (both inclusive)
- default:
-
1000
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/providers/resume-and-suspend
providers.scheduler.backend
The selected module which should implement functionality for the providers.scheduler contract.
- type: one of fcron, none, cron, anacron
- default:
-
"none"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/fcron/providers.scheduler.nix
https://git.informatics.coop/projects/slam/src/branch/trunk/modules/providers/scheduler
https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/cron/providers.scheduler.nix
https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/anacron/providers.scheduler.nix
providers.scheduler.supportedFeatures.user
Whether the selected providers.scheduler implementation supports running tasks as a specified user.
providers.scheduler.tasks
A set of tasks which are to be run at specified intervals.
- type: attribute set of (submodule)
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/providers/scheduler
providers.scheduler.tasks.<name>.command
The command this task should execute at specified interval s.
- type: main program, path or command
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/providers/scheduler
providers.scheduler.tasks.<name>.interval
The interval at which this task should run its specified command. Accepts either a standard crontab(5) expression or one of: or
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 or is provided then the underlying scheduler implementation will use its features to decide when best to run.
providers.scheduler.tasks.<name>.user
The user this task should run as, subject to provider.scheduler implementation capabilities. See providers.scheduler.supportedFeatures and your selected backend implementation for additional details.
security.pam.debug
Whether to enable debugging.
security.pam.enable
Whether to enable Pluggable Authentication Modules.
security.pam.environment
Set of rules for pam_env.
- type: attribute set of (submodule)
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/security/pam
security.pam.environment.<name>.default
Default value of environment variable.
security.pam.environment.<name>.override
Value to overidde environment variable with.
security.pam.package
PAM impleementation package.
security.pam.services
PAM service descriptions.
- type: attribute set of (submodule)
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/security/pam
security.pam.services.<name>.enable
Whether to enable Pluggable Authentication Module.
security.pam.services.<name>.name
Name of this module.
security.pam.services.<name>.rules
Authentication rules for this module.
- type: attribute set of ((submodule) or string convertible to it)
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/security/pam
security.pam.services.<name>.rules.<name>.deps
List of rules that must precede this one.
security.pam.services.<name>.rules.<name>.text
PAM control flag, module and arguments
security.pki.caBundle
(Read-only) the path to the final bundle of certificate authorities as a single file.
- type: read-only absolute path
- declared by:
- /nix/store/ci5r8q32x2y8zcab0bha5yj7474ysr76-source/nixos/modules/security/ca.nix
security.pki.caCertificateBlacklist
A list of blacklisted CA certificate names that won't be imported from the Mozilla Trust Store into {file}`/etc/ssl/certs/ca-certificates.crt`. Use the names from that file.
- type: list of string
- default:
-
[ ]
- example:
-
[ "WoSign" "WoSign China" "CA WoSign ECC Root" "Certification Authority of WoSign G2" ]
- declared by:
- /nix/store/ci5r8q32x2y8zcab0bha5yj7474ysr76-source/nixos/modules/security/ca.nix
security.pki.certificateFiles
A list of files containing trusted root certificates in PEM format. These are concatenated to form {file}`/etc/ssl/certs/ca-certificates.crt`, which is used by many programs that use OpenSSL, such as {command}`curl` and {command}`git`.
- type: list of absolute path
- default:
-
[ ]
- example:
-
[ "${pkgs.dn42-cacert}/etc/ssl/certs/dn42-ca.crt" ] - declared by:
- /nix/store/ci5r8q32x2y8zcab0bha5yj7474ysr76-source/nixos/modules/security/ca.nix
security.pki.certificates
A list of trusted root certificates in PEM format.
- type: list of string
- default:
-
[ ]
- example:
-
[ '' NixOS.org ========= -----BEGIN CERTIFICATE----- MIIGUDCCBTigAwIBAgIDD8KWMA0GCSqGSIb3DQEBBQUAMIGMMQswCQYDVQQGEwJJ TDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0 ... -----END CERTIFICATE----- '' ] - declared by:
- /nix/store/ci5r8q32x2y8zcab0bha5yj7474ysr76-source/nixos/modules/security/ca.nix
security.pki.useCompatibleBundle
Whether 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
- type: boolean
- default:
-
false
- example:
-
true
- declared by:
- /nix/store/ci5r8q32x2y8zcab0bha5yj7474ysr76-source/nixos/modules/security/ca.nix
security.wrapperDirSize
Size limit for the /run/wrappers tmpfs. Look at mount(8), tmpfs size option, for the accepted syntax. Do not set to less than 64MB.
security.wrappers
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.
- type: attribute set of (submodule)
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/security/wrappers
security.wrappers.<name>.capabilities
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.
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.
- type: strings concatenated with,
- default:
-
""
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/security/wrappers
security.wrappers.<name>.group
The group of the wrapper program.
security.wrappers.<name>.owner
The owner of the wrapper program.
security.wrappers.<name>.permissions
The permissions of the wrapper program. The format is that of a
symbolic or numeric file mode understood by
chmod.
- type: file mode string
- default:
-
"u+rx,g+x,o+x"
- example:
-
"a+rx"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/security/wrappers
security.wrappers.<name>.program
The name of the wrapper program. Defaults to the attribute name.
security.wrappers.<name>.setgid
Whether to add the setgid bit the wrapper program.
security.wrappers.<name>.setuid
Whether to add the setuid bit the wrapper program.
security.wrappers.<name>.source
The absolute path to the program to be wrapped.
services.acpid.enable
Whether to enable .Lk https://sourceforge.net/projects/acpid2/ acpid as a system service.
services.acpid.handlers
acpid handlers.
- type: attribute set of (submodule)
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/acpid
services.acpid.handlers.<name>.action
Shell commands to execute when the event is triggered.
- type: strings concatenated with 0
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/acpid
services.acpid.handlers.<name>.event
Event type.
- type: string
- example:
-
"button/power.*" "button/lid.*" "ac_adapter.*" "button/mute.*" "button/volumedown.*" "cd/play.*" "cd/next.*"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/acpid
services.anacron.enable
Whether to enable .Lk https://github.com/cronie-crond/cronie
anacron as a system service. The cron module will
also be imported and services.cron.enable set to
true
services.anacron.extraArgs
Additional arguments to pass to anacron.
See anacron(8) for additional
details.
- type: list of string
- default:
-
[ ]
- example:
-
[ "-s" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/anacron
services.anacron.package
The cronie package to use.
services.anacron.settings
anacrontab configuration. See
anacrontab(5) for additional details.
- type: open submodule of attribute set of string
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/anacron
services.anacron.settings.NO_MAIL_OUTPUT
If defined (and non-empty), the standard output and error descriptors of job processes are not redirected and e-mailed.
- type: null or signed integer
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/anacron
services.anacron.settings.PREFERRED_HOUR
Preferred hour of start of the job. If the hour is missed job will be skipped.
- type: null or signed integer
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/anacron
services.anacron.settings.RANDOM_DELAY
Allows 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.
- type: null or signed integer
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/anacron
services.anacron.settings.START_HOURS_RANGE
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.
- type: null or string matching the pattern ^([[:digit:]]+)-([[:digit:]]+)$
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/anacron
services.anacron.systab
A list of anacron jobs to be appended to
the system-wide anacrontab.
- type: list of non-empty string
- default:
-
[ ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/anacron
services.atd.allow
Users allowed to use at. See
at.allow(5) for additional details.
- type: null or (list of string)
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/atd
services.atd.deny
Users who are not allowed to use
‘at’. See at.deny(5)
for additional details.
- type: null or (list of string)
- default:
-
[ ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/atd
services.atd.enable
Whether to enable .Lk https://tracker.debian.org/pkg/at atd as a system service.
services.atd.extraArgs
Additional arguments to pass to atd. See
atd(8) for additional details.
services.bluetooth.debug
Whether to enable debug logging.
services.bluetooth.enable
Whether to enable .Lk https://www.bluez.org/ bluez as a system service
services.bluetooth.package
The bluez package to use.
services.bluetooth.settings
bluez configuration. See
upstream
documentation for additional details.
- type: attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/bluetooth
services.chrony.configFile
Path to a Chrony configuration file.
- type: absolute path
- default:
-
<derivation chrony.conf>
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/chronyd
services.chrony.enable
Whether to enable chrony as a system service.
services.chrony.package
The package to use for chrony.
services.cron.enable
Whether to enable .Lk https://github.com/cronie-crond/cronie cronie as a system service
services.cron.extraArgs
Additional arguments to pass to cron. See
cron(8) for additional details.
- type: list of string
- default:
-
[ ]
- example:
-
[ "-s" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/cron
services.cron.package
The package to use for cron.
- type: package
- default:
-
pkgs.cronie
- example:
-
pkgs.cron.override { sendmailPath = "/run/wrappers/bin/sendmail"; }; - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/cron
services.cron.settings
crontab configuration. See
crontab(5) for additional details.
- type: open submodule of attribute set of string
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/cron
services.cron.settings.CONTENT_TRANSFER_ENCODING
The encoding for email notifications. This is useful for properly displaying special characters or when sending emails in a format other than plain text.
services.cron.settings.CONTENT_TYPE
The 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.
services.cron.settings.CRON_TZ
The 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.
- type: null or string
- default:
-
null
- example:
-
config.time.timeZone
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/cron
services.cron.settings.MAILFROM
If MAILFROM is defined (and non-empty), it
is used as the envelope sender address, otherwise, the username of the
executing user is used. This variable is also inherited from the
cron process environment. 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.
- type: null or non-empty string
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/cron
services.cron.settings.MAILTO
If 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.
services.cron.settings.PATH
Packages added to the cron
PATH environment variable.
- type: list of (absolute path or package)
- default:
-
[ /run/wrappers pkgs.busybox ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/cron
services.cron.settings.RANDOM_DELAY
Allows 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.
- type: null or signed integer
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/cron
services.cron.settings.SHELL
The shell used to execute commands.
- type: absolute path
- default:
-
lib.getExe pkgs.bash
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/cron
services.cron.systab
A list of cron jobs to be appended to the
system-wide crontab.
- type: list of non-empty string
- default:
-
[ ]
- example:
-
[ "* * * * * test ls -l / > /tmp/cronout 2>&1" "* * * * * eelco echo Hello World > /home/eelco/cronout" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/cron
services.dbus.debug
Whether to enable debug logging.
services.dbus.enable
Whether to enable .Lk https://www.freedesktop.org/wiki/Software/dbus/ dbus as a system service
services.dbus.package
The package to use for dbus.
services.dbus.packages
Packages 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: {file}`«pkg»/etc/dbus-1/system.d` {file}`«pkg»/share/dbus-1/system.d` {file}`«pkg»/share/dbus-1/system-services` {file}`«pkg»/etc/dbus-1/session.d` {file}`«pkg»/share/dbus-1/session.d` {file}`«pkg»/share/dbus-1/services`
- type: list of absolute path
- default:
-
[ ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/dbus
services.ddccontrol.enable
Whether to enable .Lk https://github.com/ddccontrol/ddccontrol ddccontrol as a system service
services.ddccontrol.package
The ddcontrol package to use.
services.dhcpcd.configFile
Path to dhcpcd configuration file.
- type: absolute path
- default:
-
"Generated configuration file."
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/dhcpcd
services.dhcpcd.enable
Whether to enable dhcpcd as a system service.
services.dhcpcd.package
The package to use for dhcpcd.
- type: package
- default:
-
pkgs.dhcpcd.override { withUdev = config.services.udev.enable; } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/dhcpcd
services.dhcpcd.settings
Free-form settings to generate a dhcpcd configuration file from.
- type: open submodule of attribute set of (atom (null, bool, int, float or string) or a non-empty list of them)
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/dhcpcd
services.dmesg.enable
Disable printing of kernel messages to the console and enable dmesg running as a dedicated service.
services.dmesg.extraArgs
List of command-line options to pass to the dmesg service.
services.earlyoom.debug
Whether to enable debug logging.
services.earlyoom.enable
Whether to enable [earlyoom](https://github.com/rfjakob/earlyoom) as a system service.
services.earlyoom.extraArgs
Additional arguments to pass to earlyoom.
See earlyoom(1) for additional details.
- type: list of string
- default:
-
[ ]
- example:
-
[ "-r" "3600" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/earlyoom
services.earlyoom.package
The package to use for `earlyoom`.
services.elogind.enable
Whether to enable .Lk https://github.com/elogind/elogind elogind as a system service
services.elogind.package
The package to use for elogind.
services.fcron.allow
Users allowed to use fcrontab and
fcrondyn. The special name
‘all’ acts for everyone.
- type: list of string
- default:
-
[ "all" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/fcron
services.fcron.debug
Whether to enable debug logging.
services.fcron.deny
Users who are not allowed to use fcrontab
and fcrondyn. The special name
‘all’ acts for everyone.
services.fcron.enable
Whether to enable .Lk http://fcron.free.fr) fcron as a system service
services.fcron.extraArgs
Additional arguments to pass to fcron. See
fcron(8) for additional details.
- type: list of string
- default:
-
[ ]
- example:
-
[ "--maxserial" "5" "--firstsleep" "60" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/fcron
services.fcron.package
The fcron package to use.
services.fcron.settings
fcron configuration. See
fcron.conf(5) for additional details.
- type: open submodule of attribute set of (atom (null, bool, int, float or string))
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/fcron
services.fcron.settings.sendmail
Location of mailer program called by fcron
to send job output.
- type: absolute path
- default:
-
"/run/wrappers/bin/sendmail"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/fcron
services.fcron.settings.shell
Location 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.
- type: absolute path
- default:
-
lib.getExe pkgs.bash
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/fcron
services.fcron.systab
A list of cron jobs to be appended to the system-wide fcrontab(5).
- type: list of non-empty string
- default:
-
[ ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/fcron
services.fprintd.enable
Whether to enable .Lk https://fprint.freedesktop.org/ fprintd as a system service
services.fprintd.package
The package to use for fprintd.
services.fstrim.enable
Whether to enable periodic fstrim(8) task
services.fstrim.interval
The interval at which this task should run its specified command. Accepts either a standard crontab(5) expression or one of: or
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 or is provided then the underlying scheduler implementation will use its features to decide when best to run.
services.fwupd.debug
Whether to enable debug logging.
services.fwupd.enable
Whether to enable .Lk https://fwupd.org/) fwupd as a system service
services.fwupd.package
The fwupd package to use.
services.fwupd.settings
fwupd configuration. See
fwupd.conf(5) for additional details.
- type: open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string) or a non-empty list of them)
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/fwupd
services.fwupd.settings.fwupd.IdleTimeout
Idle timeout.
services.getty.enable
Whether to enable getty services.
services.getty.ttys
The list of tty devices on which to start a login prompt.
- type: list of string
- default:
-
[ "tty1" "tty2" "tty3" "tty4" "tty5" "tty6" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/getty
services.greetd.enable
Whether to enable greetd as a system service.
services.greetd.settings
greetd configuration. See
greetd(5) for additional details.
services.incus.debug
Whether to enable debug logging.
services.incus.enable
Whether to enable .Lk https://linuxcontainers.org/incus incus as a system service
services.incus.package
The incus-lts package to use.
services.lemurs.enable
Whether to enable .Lk https://github.com/coastalwhite/lemurs lemurs as a system service.
services.lemurs.package
The lemurs package to use.
services.lemurs.settings
lemurs configuration. Ses
upstream
documentation for additional details.
services.logrotate.enable
Whether to enable logrotate.
services.logrotate.package
The logrotate package to use.
services.logrotate.rules
Rules for logrotate.
- type: attribute set of (submodule)
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/logrotate
services.logrotate.rules.<name>.text
Rule text.
- type: strings concatenated with 0
- default:
-
""
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/logrotate
services.mdevd.coldplugRules
Mdeved rules for coldplug events during the initramfs stage of booting.
- type: strings concatenated with 0
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/mdevd
services.mdevd.debug
Whether to enable debug logging.
services.mdevd.enable
Whether the mdevd hardware event manager has been enabled by config.boot.hardwareManager.
- type: read-only unspecified value
- default:
-
true
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/mdevd
services.mdevd.hotplugRules
Mdevd rules for hotplug events. These rules are active after the
initial mdevd daemon has coldbooted with the
services.mdevd.coldplug
rules.
- type: strings concatenated with 0
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/mdevd
services.mdevd.nlgroups
After mdevd has handled the uevents,
rebroadcast them to the netlink groups identified by the
nlgroups mask.
A value that intersects with
‘4’ will make the daemon rebroadcast
kernel uevents to libudev-zero.
- type: null or (unsigned integer, meaning >=0)
- default:
-
4
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/mdevd
services.mdevd.package
The mdevd package to use.
- type: package
- default:
-
pkgs.alt.slam.mdevd
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/mdevd
services.nftables.configFile
Configuration file for nftables.
- type: absolute path
- default:
-
<derivation nftables.conf>
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/nftables
services.nftables.enable
Whether to enable .Lk https://netfilter.org/projects/nftables/ nftables
services.nftables.package
The nftables package to use.
services.nix-daemon.enable
Whether to enable the Nix daemon as a system service. Disabling Nix makes the system hard to modify and the Nix programs and configuration will not be made available.
services.nix-daemon.nrBuildUsers
Number of “nixbld” user accounts created to perform secure concurrent builds. If you receive an error message saying that “all build users are currently in use”, you should increase this value.
services.nix-daemon.package
The package to use for nix.
services.nix-daemon.settings
Configuration for Nix, see
https://nixos.org/manual/nix/stable/command-ref/conf-file.html
or nix.conf(5) for available options. The value declared
here will be translated directly to the key-value pairs Nix expects. You can
use ‘nix-instantiate --eval --strict
'<nixpkgs/nixos>' -A config.nix.settings’ to view the
current value. By default it is empty. Nix configurations defined under
nix.* will be translated and applied to this option.
In addition, configuration specified in
nix.extraOptions will be appended
verbatim to the resulting config file.
- type: open submodule of attribute set of (Nix config atom (null, bool, int, float, str, path or package) or list of (Nix config atom (null, bool, int, float, str, path or package)))
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/nix-daemon
services.nix-daemon.settings.allowed-users
A list of names of users (separated by whitespace) that are
allowed to connect to the Nix daemon. As with
nix.settings.trusted-users,
you can specify groups by prefixing them with
‘@’. Also, you can allow all users by
specifying ‘*’. The default is
‘*’. Note that trusted users are
always allowed to connect.
- type: list of string
- default:
-
[ "*" ]
- example:
-
[ "@wheel" "@builders" "alice" "bob" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/nix-daemon
services.nix-daemon.settings.auto-optimise-store
If set to true, Nix automatically detects files in the store that have identical contents, and replaces them with hard links to a single copy. This saves disk space. If set to false (the default), you can still run nix-store --optimise to get rid of duplicate files.
services.nix-daemon.settings.cores
This option defines the maximum number of concurrent tasks during one build. It affects, e.g., -j option for make. The special value 0 means that the builder should use all available CPU cores in the system. Some builds may become non-deterministic with this option; use with care! Packages will only be affected if enableParallelBuilding is set for them.
services.nix-daemon.settings.max-jobs
This option defines the maximum number of jobs that Nix will try to build in parallel. The default is auto, which means it will use all available logical cores. It is recommend to set it to the total number of logical cores in your system (e.g., 16 for two CPUs with 4 cores each and hyper-threading).
- type: signed integer or value auto (singular enum)
- default:
-
"auto"
- example:
-
64
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/nix-daemon
services.nix-daemon.settings.require-sigs
If enabled (the default), Nix will only download binaries from binary caches if they are cryptographically signed with any of the keys listed in nix.settings.trusted-public-keys. If disabled, signatures are neither required nor checked, so it's strongly recommended that you use only trustworthy caches using authenticated transport.
services.nix-daemon.settings.sandbox
If set, Nix will perform builds in a sandboxed environment that it will set up automatically for each build. This prevents impurities in builds by disallowing access to dependencies outside of the Nix store by using network and mount namespaces in a chroot environment.
This is enabled by default even though it has a possible performance impact due to the initial setup time of a sandbox for each build. It doesn't affect derivation hashes, so changing this option will not trigger a rebuild of packages.
When set to ‘relaxed’, this
option permits derivations that set ‘__noChroot =
true;’ to run outside of the sandboxed environment. Exercise
caution when using this mode of operation! It is intended to be a quick hack
when building with packages that are not easily setup to be built
reproducibly.
- type: boolean or value relaxed (singular enum)
- default:
-
true
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/nix-daemon
services.nix-daemon.settings.substituters
List of binary cache URLs used to obtain pre-built binaries of Nix packages. No caches are added by default.
services.nix-daemon.settings.system-features
The set of features supported by the machine. Derivations can express dependencies on system features through the requiredSystemFeatures attribute.
services.nix-daemon.settings.trusted-public-keys
List of public keys used to sign binary caches. If nix.settings.trusted-public-keys is enabled then Nix will use a binary from a binary cache if and only if it is signed by any of the keys listed here. No keys are added by default.
- type: list of string
- default:
-
[ ]
- example:
-
[ "hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/nix-daemon
services.nix-daemon.settings.trusted-substituters
List of binary cache URLs that non-root users can use (in addition
to those specified using
nix.settings.substituters
by passing ‘--option binary-caches’ to
Nix commands.
- type: list of string
- default:
-
[ ]
- example:
-
[ "https://hydra.nixos.org/" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/nix-daemon
services.nix-daemon.settings.trusted-users
A list of names of users that have additional rights when
connecting to the Nix daemon, such as the ability to specify additional
binary caches, or to import unsigned NARs. You can also specify groups by
prefixing them with ‘@’; for instance,
‘@wheel’ means all users in the wheel
group.
- type: list of string
- example:
-
[ "root" "alice" "@wheel" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/nix-daemon
services.opensmtpd.enable
Whether to enable the OpenSMTPD server.
services.opensmtpd.extraServerArgs
Extra command line arguments provided when the smtpd process is started.
- type: list of string
- default:
-
[ ]
- example:
-
[ "-v" "-P mta" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/opensmtpd
services.opensmtpd.package
The opensmtpd package to use.
services.opensmtpd.procPackages
Packages to search for filters, tables, queues, and schedulers.
Add packages here if you want to use them as as such, for example from the opensmtpd-table-* packages.
services.opensmtpd.serverConfiguration
The contents of the smtpd.conf configuration file. See the OpenSMTPD documentation for syntax information.
- type: strings concatenated with 0
- example:
-
listen on lo accept for any deliver to lmtp localhost:24
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/opensmtpd
services.opensmtpd.setSendmail
Whether to set the system sendmail to OpenSMTPD's.
services.openssh.enable
Whether to enable [openssh](https://www.openssh.com/) as a system service.
services.openssh.package
The package to use for `openssh`.
services.openssh.settings
openssh configuration. See
sshd_config(5) for additional details.
- type: open submodule of attribute set of (atom (null, bool, int, float or string))
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/openssh
services.openssh.settings.AddressFamily
Specifies which address family should be used by sshd(8).
- type: one of any, inet, inet6
- default:
-
"any"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/openssh
services.openssh.settings.Banner
The 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.
- type: value none (singular enum) or absolute path
- default:
-
"none"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/openssh
services.openssh.settings.Ciphers
Allowed 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>
- type: list of string
- default:
-
[ "chacha20-poly1305@openssh.com" "aes256-gcm@openssh.com" "aes128-gcm@openssh.com" "aes256-ctr" "aes192-ctr" "aes128-ctr" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/openssh
services.openssh.settings.HostKey
TODO: description
- type: list of absolute path
- default:
-
[ ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/openssh
services.openssh.settings.KbdInteractiveAuthentication
Specifies whether keyboard-interactive authentication is allowed.
services.openssh.settings.KexAlgorithms
Allowed 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>
- type: list of string
- default:
-
[ "sntrup761x25519-sha512@openssh.com" "curve25519-sha256" "curve25519-sha256@libssh.org" "diffie-hellman-group-exchange-sha256" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/openssh
services.openssh.settings.LogLevel
Gives the verbosity level that is used when logging messages from sshd(8). Logging with a level violates the privacy of users and is not recommended.
- type: one of QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, DEBUG3
- default:
-
"INFO"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/openssh
services.openssh.settings.Macs
Allowed 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>
- type: list of string
- default:
-
[ "hmac-sha2-512-etm@openssh.com" "hmac-sha2-256-etm@openssh.com" "umac-128-etm@openssh.com" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/openssh
services.openssh.settings.PasswordAuthentication
Specifies whether password authentication is allowed.
services.openssh.settings.PermitRootLogin
Whether the root user can login using ssh.
- type: one of yes, without-password, prohibit-password, forced-commands-only, no
- default:
-
"prohibit-password"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/openssh
services.openssh.settings.Port
Specifies the port number that sshd(8) listens on.
- type: list of 16 bit unsigned integer; between 0 and 65535 (both inclusive)
- default:
-
[ 22 ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/openssh
services.openssh.settings.StrictModes
Whether sshd should check file modes and ownership of directories
services.openssh.settings.UsePAM
Whether to enable PAM authentication.
services.openssh.sftp.enable
Whether to enable file transfer sessions using SFTP.
services.openssh.sftp.executable
Command with optional arguments to execute upon SFTP requests.
services.openssh.sftp.flags
Optional arguments to pass to the SFTP executable.
services.polkit.adminIdentities
Specifies 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.
- type: list of string
- default:
-
[ "unix-group:wheel" ]
- example:
-
[ "unix-user:alice" "unix-group:admin" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/polkit
services.polkit.debug
Whether to enable debug logging.
services.polkit.enable
Whether to enable .Lk https://github.com/polkit-org/polkit polkit as a system service
services.polkit.extraConfig
Any polkit rules to be added to config (in JavaScript ;-). See: <https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html#polkit-rules>
- type: strings concatenated with 0
- default:
-
""
- example:
-
/* 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"; }); - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/polkit
services.polkit.package
The polkit package to use.
services.power-profiles-daemon.enable
Whether to enable .Lk https://gitlab.freedesktop.org/upower/power-profiles-daemon power-profiles-daemon as a system service
services.power-profiles-daemon.package
The power-profiles-daemon package to use.
- type: package
- default:
-
pkgs.power-profiles-daemon
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/power-profiles-daemon
services.rtkit.debug
Whether to enable debug logging.
services.rtkit.enable
Whether to enable .Lk https://gitlab.freedesktop.org/pipewire/rtkit rtkit as a system service
services.rtkit.package
The rtkit package to use.
services.sddm.enable
Whether to enable .Lk https://github.com/sddm/sddm sddm as a system service.
services.sddm.settings
Extra settings merged in and overwriting defaults in sddm.conf.
- type: attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))
- default:
-
{ } - example:
-
{ Autologin = { Session = "plasma.desktop"; User = "john"; }; } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/sddm
services.seatd.debug
Whether to enable debug logging.
services.seatd.enable
Whether to enable seatd as a system service.
services.seatd.group
Group to own the seatd socket. If you want non-root users to be able to access the seatd session, add them to this group.
services.seatd.package
The seatd package to use.
- type: package
- default:
-
pkgs.alt.slam.seatd
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/seatd
services.syndev.enable
Whether to enable the
Syndev
uevent monitor. The uvent dataspace will be bound to
‘<oid uevents>’.
services.syndev.nlgroup
Subscribe to events on the specified netlink group. Mdevd usually subscribes to group 1, so set this to a mask not intersecting with 1, and set services.mdevd.nlgroups to a value that intersects with the nlgroup set here.
- type: unsigned integer, meaning >=0
- example:
-
2
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/syndev
services.syndev.package
The syndev package to use.
- type: package
- default:
-
pkgs.alt.sam.syndev
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/syndev
services.tlp.enable
Whether to enable tlp as a system service.
services.tlp.package
The package to use for tlp.
services.tlp.settings
tlp configuration. See upstream
documentation for
additional details.
- type: attribute set of (atom (null, bool, int, float or string) or a non-empty list of them)
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/tlp
services.udev.debug
Whether to enable debug logging.
services.udev.enable
Whether to enable as a system service.
- type: read-only boolean
- default:
-
false
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/udev
services.udev.package
The package to use for eudev.
services.udev.packages
List of packages containing udev rules.
All files found in
/package/etc/udev/rules.d and
/package/lib/udev/rules.d will
be included.
- type: list of absolute path
- default:
-
[ ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/udev
services.udev.path
Packages added to the PATH environment
variable when executing programs from Udev rules. The busybox and util-linux
packages are automatically included.
- type: list of absolute path
- default:
-
[ ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/udev
services.upower.enable
Whether to enable .Lk https://upower.freedesktop.org/ upower as a system service
services.upower.package
The upower package to use.
services.upower.settings
upower configuration. See
upstream
documentation for additional details.
- type: open submodule of attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/upower
services.wpa_supplicant.allowAuxiliaryImperativeNetworks
Whether to allow configuring networks “imperatively”
(e.g. via wpa_supplicant_gui) and declaratively via
networking.wireless.networks.
services.wpa_supplicant.dbusControlled
Whether to enable the DBus control interface. This is only needed when using NetworkManager or connman.
- type: boolean
- default:
-
length cfg.interfaces < 2
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/wpa_supplicant
services.wpa_supplicant.driver
Force a specific wpa_supplicant driver.
services.wpa_supplicant.enable
Whether to enable wpa_supplicant.
services.wpa_supplicant.extraConfig
Extra lines appended to the configuration file. See wpa_supplicant.conf(5) for available options.
services.wpa_supplicant.fallbackToWPA2
Whether to fall back to WPA2 authentication protocols if WPA3 failed. This allows old wireless cards (that lack recent features required by WPA3) to connect to mixed WPA2/WPA3 access points. To avoid possible downgrade attacks, disable this options.
services.wpa_supplicant.interfaces
The interfaces wpa_supplicant will use. If
empty, it will automatically use all wireless interfaces. A separate
wpa_supplicant instance will be started for each interface.
- type: list of string
- default:
-
[ ]
- example:
-
[ "wlan0" "wlan1" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/wpa_supplicant
services.wpa_supplicant.package
The wpa_supplicant package to use.
- type: package
- default:
-
pkgs.wpa_supplicant
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/wpa_supplicant
services.wpa_supplicant.scanOnLowSignal
Whether to periodically scan for (better) networks when the signal of the current one is low. This will make roaming between access points faster, but will consume more power.
services.wpa_supplicant.secretsFile
File consisting of lines of the form
‘varname=value’ to define variables
for the wireless configuration.
Secrets (PSKs, passwords, etc.) can be provided without adding
them to the world-readable Nix store by defining them in the secrets file
and referring to them in option
networking.wireless.networks
with the syntax ext:secretname. Example:
# content of /run/secrets/wireless.conf
psk_home=mypassword
psk_other=6a381cea59c7a2d6b30736ba0e6f397f7564a044bcdb7a327a1d16a1ed91b327
pass_work=myworkpassword
# wireless-related configuration
networking.wireless.secretsFile = "/run/secrets/wireless.conf";
networking.wireless.networks = {
home.pskRaw = "ext:psk_home";
other.pskRaw = "ext:psk_other";
work.auth = ''
eap=PEAP
identity="my-user@example.com"
password=ext:pass_work
'';
};
- type: null or absolute path
- default:
-
null
- example:
-
"/run/secrets/wireless.conf"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/wpa_supplicant
services.wpa_supplicant.userControlled.enable
Allow normal users to control wpa_supplicant through wpa_gui or wpa_cli. This is useful for laptop users that switch networks a lot and don't want to depend on a large package such as NetworkManager just to pick nearby access points.
When using a declarative network specification you cannot persist any settings via wpa_gui or wpa_cli.
services.wpa_supplicant.userControlled.group
Members of this group can control
wpa_supplicant.
services.xserver.enable
xserver
services.xserver.modules
Packages to be added to the module search path of the X server.
- type: list of absolute path
- default:
-
[ ]
- example:
-
[ pkgs.xf86_input_wacom ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/xserver
services.xserver.videoDriver
The name of the video driver for your graphics card. This option is obsolete; please set the services.xserver.videoDrivers instead.
- type: null or string
- default:
-
null
- example:
-
"i810"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/xserver
services.xserver.videoDrivers
The 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
- type: list of string
- default:
-
[ "modesetting" "fbdev" ]
- example:
-
[ "nvidia" "amdgpu-pro" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/xserver
services.xserver.xkb.dir
Path used for -xkbdir xserver parameter.
- type: absolute path
- default:
-
"${pkgs.xkeyboard_config}/etc/X11/xkb" - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/xserver
services.xserver.xkb.layout
X keyboard layout, or multiple keyboard layouts separated by commas.
services.xserver.xkb.model
X keyboard model.
- type: string
- default:
-
"pc104"
- example:
-
"presario"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/xserver
services.xserver.xkb.options
X keyboard options; layout switching goes here.
- type: strings concatenated with,
- default:
-
"terminate:ctrl_alt_bksp"
- example:
-
"grp:caps_toggle,grp_led:scroll"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/xserver
services.xserver.xkb.variant
X keyboard variant.
services.zfs.autoScrub.enable
Whether to enable ZFS autoscrubbing.
services.zfs.autoScrub.interval
The interval at which this task should run its specified command.
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 or is provided then the underlying scheduler implementation will use its features to decide when best to run.
services.zfs.autoScrub.pools
List of ZFS pools to periodically scrub. If empty, all pools will be scrubbed.
- type: list of non-empty string
- default:
-
[ ]
- example:
-
[ "tank" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/zfs
services.zfs.autoSnapshot.daily
Number of daily auto-snapshots that you wish to keep.
services.zfs.autoSnapshot.enable
Enable 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`
services.zfs.autoSnapshot.flags
Flags to pass to the zfs-auto-snapshot command.
Run zfs-auto-snapshot 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.
- type: string
- default:
-
"-k -p"
- example:
-
"-k -p --utc"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/services/zfs
services.zfs.autoSnapshot.frequent
Number of frequent (15-minute) auto-snapshots that you wish to keep.
services.zfs.autoSnapshot.hourly
Number of hourly auto-snapshots that you wish to keep.
services.zfs.autoSnapshot.monthly
Number of monthly auto-snapshots that you wish to keep.
services.zfs.autoSnapshot.weekly
Number of weekly auto-snapshots that you wish to keep.
specialisation
Additional configurations to build.
- type: attribute set of (submodule)
- default:
-
{ } - example:
-
{ mdevd = { services.mdevd.enable = lib.mkForce true; services.udev.enable = lib.mkForce false; }; } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/system/activation/specialisation.nix
system.activation.enable
Whether an activation script is enabled.
system.activation.out
the actual script to run on activation....
- type: read-only absolute path
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/system/activation
system.activation.path
Packages available during activation from
PATH.
system.activation.scripts
A set of shell script fragments that are executed when a system configuration is activated. Examples are updating (/etc), creating accounts, and so on. Since these are executed every time you boot the system or a configuration transition occurs, it's important that they are idempotent and fast.
- type: attribute set of ((submodule) or string convertible to it)
- default:
-
{ } - example:
-
{ 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 ''; } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/system/activation
system.activation.scripts.<name>.deps
List of dependencies. The script will run after these.
system.activation.scripts.<name>.text
The content of the script.
- type: strings concatenated with 0
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/system/activation
system.build.toplevel
top-level system derivation
- type: read-only absolute path
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/system/activation
system.installBootloader
Bootloader install script.
- type: read-only absolute path
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/boot/loader.nix
system.logging.logToFileSystem
Whether to enable logging to the file-system by default.
system.s6.basePath
PATH used to boot the system bus.
- type: read-only unspecified value
- default:
-
"The packages s6, execline"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/s6
system.s6.enable
Whether s6 is enabled as PID1.
- type: read-only unspecified value
- default:
-
"config.system.serviceManager ==
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/s6
system.s6.logToConsole
Whether to enable copy catch-all messages to /dev/console.
system.s6.package
The s6 package to use.
system.s6.rc.liveDirectory
Directory holding s6-rc live state.
system.s6.rc.scripts
Scripts generated for s6-rc.
- type: read-only attribute set of package
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/s6/rc.nix
system.s6.rc.services
s6-rc services.
- type: attribute set of (submodule)
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/s6/rc.nix
system.s6.rc.services.<name>.consumer-for
Name of the direct producer of this service.
system.s6.rc.services.<name>.dependencies
List of other s6-rc services that must be started befor this one.
- type: list of string
- default:
-
[ "mounts" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/s6/rc.nix
system.s6.rc.services.<name>.down
Unix command-line to be lexed by
execlineb. This is the command that brings a service
down.
- type: null or strings concatenated with 0
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/s6/rc.nix
system.s6.rc.services.<name>.env
Attrset of environment variables. These are written to an
env directory in the s6-rc service description and
can be loaded by ‘s6-envdir env’.
- type: attribute set of string
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/s6/rc.nix
system.s6.rc.services.<name>.finish
Executable file to run after a longrun service has finished.
- type: null or path in the Nix store
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/s6/rc.nix
system.s6.rc.services.<name>.id
Service identifier local to s6-rc.
- type: read-only unspecified value
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/s6/rc.nix
system.s6.rc.services.<name>.logging.args
Command-line arguments passed to s6-log before the logging
directory. The default arguments prepend logged lines with a
TAI64N
timestamp. Override args to ‘[]’ if
this information would be redundant.
- type: list of string
- default:
-
[ "t" "s1000000" "n20" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/s6/rc.nix
system.s6.rc.services.<name>.logging.dir
Directory for log files from this daemon.
- type: absolute path
- default:
-
/var/log/‹name›
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/s6/rc.nix
system.s6.rc.services.<name>.logging.enable
Whether to enable inject a logging wrapper over this daemon.
system.s6.rc.services.<name>.notification-fd
When non-null enable s6 readiness notification for this daemon using the specified file-descriptor.
- type: null or signed integer
- default:
-
null
- example:
-
3
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/s6/rc.nix
system.s6.rc.services.<name>.of-bundle
List of bundles that this service belongs to.
system.s6.rc.services.<name>.path
List of directories to compose into the
PATH environmental variable. If
env.PATH is set then this value is ignored. Otherwise
it will be appended with execline and s6 packages.
- type: list of (string or absolute path or package)
- default:
-
[ ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/s6/rc.nix
system.s6.rc.services.<name>.pipeline-name
Name of the whole producer consumer pipline. Declaring this will compile a pipeline bundle with this name.
system.s6.rc.services.<name>.producer-for
Name of the direct consumer of this service.
system.s6.rc.services.<name>.run
Executable file to run for a longrun service.
- type: path in the Nix store
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/s6/rc.nix
system.s6.rc.services.<name>.serviceDefinition
Derived service definition directory for this service. For a description of this format see s6-rc-compile(8) or https://skarnet.org/software/s6-rc/s6-rc-compile.html.
- type: read-only package
- default:
- not available
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/s6/rc.nix
system.s6.rc.services.<name>.timeout-down
The maximum number of milliseconds s6-rc
will wait for successful completion of the service stop; if stopping the
service takes longer than this value, s6-rc will
declare the transition a failure. If a zero timeout is defined then
s6-rc will wait indefinitely for the service to
stop.
If s6-rc is the primary system service
manager then
system.shutdownDeadline
defaults to the longest timeout-down defined.
- type: unsigned integer, meaning >=0
- default:
-
0
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/s6/rc.nix
system.s6.rc.services.<name>.timeout-up
The maximum number of milliseconds s6-rc
will wait for successful completion of the service start; if starting the
service takes longer than this value, s6-rc will
declare the transition a failure. If a zero timeout is defined then
s6-rc will wait indefinitely for the service to
start.
- type: unsigned integer, meaning >=0
- default:
-
0
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/s6/rc.nix
system.s6.rc.services.<name>.type
s6-rc service type.
- type: one of oneshot, longrun, bundle
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/s6/rc.nix
system.s6.rc.services.<name>.up
Unix command-line to be lexed by
execlineb. This is the command that brings a service
up.
- type: strings concatenated with 0
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/s6/rc.nix
system.s6.rc.verbosity
s6-rc verbosity level.
- 1
- warning and error messages will be printed to stderr.
- 0
- silences warnings.
- 2
- writes information messages whenever s6-rc performs a transition.
- 3
- or more is debug info.
system.s6.scanDirectory
Directory to be scanned by s6-svscan.
- type: absolute path not in the Nix store
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/s6
system.serviceManager
Which service-manager to bootstrap into.
system.services
A collection of modular services.
- type: attribute set of (submodule)
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/system/service
system.shutdownDeadline
The duration in seconds which a service-manager is allowed to delay a shutdown. If null then shutdown may be delayed indefinitely.
- type: null or signed integer
- default:
-
6
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/system/service
system.synit.basePath
PATH used to boot the system bus.
- type: read-only unspecified value
- default:
- The packages execline, s6, syndicate-server, and security wrappers.
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit
system.synit.controlSocket.enable
Whether to enable Synit control socket at /run/synit/system-bus.sock.
system.synit.core.daemons
Definitions of daemons to assert as Synit core services. For each
daemon defined in core a ‘<requires-service
<daemon ${name}>>’ assertion is also made.
- type: attribute set of (submodule)
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.core.daemons.<name>.argv
Daemon command line. A string is executed in a shell whereas a list of strings is executed directly. See https://synit.org/book/operation/builtin/daemon.html#adding-process-specifications-to-a-service.
- type: string or absolute path or list of (string or absolute path)
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.core.daemons.<name>.clearEnv
Whether the Unix process environment is cleared or inherited. See https://synit.org/book/operation/builtin/daemon.html#specifying-subprocess-environment-variables.
system.synit.core.daemons.<name>.dir
Sets the working direcctory of a daemon. See https://synit.org/book/operation/builtin/daemon.html#setting-the-current-working-directory-for-a-subprocess.
system.synit.core.daemons.<name>.env
Sets Unix process environment for a daemon. See https://synit.org/book/operation/builtin/daemon.html#specifying-subprocess-environment-variables.
- type: null or (attribute set of string)
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.core.daemons.<name>.id
Service identifier local to Synit.
- type: read-only unspecified value
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.core.daemons.<name>.isRequired
Whether this service is tautologically required.
system.synit.core.daemons.<name>.logging.args
Command-line arguments passed to s6-log before the logging
directory. The default arguments prepend logged lines with a
TAI64N
timestamp. Override args to [‘’] if
this information would be redundant.
system.synit.core.daemons.<name>.logging.dir
Directory for log files from this daemon.
- type: absolute path
- default:
-
/var/log/‹name›
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.core.daemons.<name>.logging.enable
Whether to enable inject a logging wrapper over this daemon.
- type: boolean
- default:
-
config.system.logging.logToFileSystem
- example:
-
true
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.core.daemons.<name>.path
List of directories to compose into the PATH environmental variable. If env.PATH is set then this value is ignored. Otherwise it will be appended with execline and s6 packages.
- type: list of (string or absolute path or package)
- default:
-
[ ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.core.daemons.<name>.persistent
Whether this daemon should persist and never be replaced or removed.
system.synit.core.daemons.<name>.protocol
Specify a protocol for communicating with a daemon over stdin and stdout. See https://synit.org/book/operation/builtin/daemon.html#speaking-syndicate-network-protocol-via-stdinstdout.
- type: one of none, application/syndicate, text/syndicate
- default:
-
"none"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.core.daemons.<name>.provides
Reverse requires of this daemon. It is a list of service keys.
- type: list of list of string
- default:
-
[ ]
- example:
-
[ [ "milestone" "network" ] ] - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.core.daemons.<name>.readyOnNotify
When non-null enable s6 readiness notification for this daemon using the specified file-descriptor. Setting a file-descriptor here disables readyOnStart.
- type: null or signed integer
- default:
-
null
- example:
-
3
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.core.daemons.<name>.readyOnStart
Whether a daemon should be considered ready immediately after startup. See See https://synit.org/book/operation/builtin/daemon.html#ready-signalling.
system.synit.core.daemons.<name>.requires
Services required this daemon. It is a list of
‘{ key, state }’ attrs where
key identifies a service and
state is a service state.
- type: list of (submodule)
- default:
-
[ ]
- example:
-
[ { key = [ "milestone" "foo" ]; state = "up"; } { key = [ "daemon" "oneshot-script" ]; state = "complete"; } ] - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.core.daemons.<name>.requires.*.key
Label of a service. The head of the list is the record label and the tail is the fields.
system.synit.core.daemons.<name>.requires.*.state
Required service state.
system.synit.core.daemons.<name>.restart
Daemon restart policy. See https://synit.org/book/operation/builtin/daemon.html#whether-and-when-to-restart.
- type: one of always, on-error, all, never
- default:
-
"always"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.core.daemons.<name>.script
Syndicate-server script associated with this daemon.
- type: strings concatenated with 0
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.daemons
Definitions of daemons to assert into the Synit configuration dataspace.";
- type: attribute set of (submodule)
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.daemons.<name>.argv
Daemon command line. A string is executed in a shell whereas a list of strings is executed directly. See https://synit.org/book/operation/builtin/daemon.html#adding-process-specifications-to-a-service.
- type: string or absolute path or list of (string or absolute path)
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.daemons.<name>.clearEnv
Whether the Unix process environment is cleared or inherited. See https://synit.org/book/operation/builtin/daemon.html#specifying-subprocess-environment-variables.
system.synit.daemons.<name>.dir
Sets the working direcctory of a daemon. See https://synit.org/book/operation/builtin/daemon.html#setting-the-current-working-directory-for-a-subprocess.
system.synit.daemons.<name>.env
Sets Unix process environment for a daemon. See https://synit.org/book/operation/builtin/daemon.html#specifying-subprocess-environment-variables.
- type: null or (attribute set of string)
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.daemons.<name>.id
Service identifier local to Synit.
- type: read-only unspecified value
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.daemons.<name>.isRequired
Whether this service is tautologically required.
system.synit.daemons.<name>.logging.args
Command-line arguments passed to s6-log before the logging
directory. The default arguments prepend logged lines with a
TAI64N
timestamp. Override args to [‘’] if
this information would be redundant.
system.synit.daemons.<name>.logging.dir
Directory for log files from this daemon.
- type: absolute path
- default:
-
/var/log/‹name›
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.daemons.<name>.logging.enable
Whether to enable inject a logging wrapper over this daemon.
- type: boolean
- default:
-
config.system.logging.logToFileSystem
- example:
-
true
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.daemons.<name>.path
List of directories to compose into the PATH environmental variable. If env.PATH is set then this value is ignored. Otherwise it will be appended with execline and s6 packages.
- type: list of (string or absolute path or package)
- default:
-
[ ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.daemons.<name>.persistent
Whether this daemon should persist and never be replaced or removed.
system.synit.daemons.<name>.protocol
Specify a protocol for communicating with a daemon over stdin and stdout. See https://synit.org/book/operation/builtin/daemon.html#speaking-syndicate-network-protocol-via-stdinstdout.
- type: one of none, application/syndicate, text/syndicate
- default:
-
"none"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.daemons.<name>.provides
Reverse requires of this daemon. It is a list of service keys.
- type: list of list of string
- default:
-
[ ]
- example:
-
[ [ "milestone" "network" ] ] - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.daemons.<name>.readyOnNotify
When non-null enable s6 readiness notification for this daemon using the specified file-descriptor. Setting a file-descriptor here disables readyOnStart.
- type: null or signed integer
- default:
-
null
- example:
-
3
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.daemons.<name>.readyOnStart
Whether a daemon should be considered ready immediately after startup. See See https://synit.org/book/operation/builtin/daemon.html#ready-signalling.
system.synit.daemons.<name>.requires
Services required this daemon. It is a list of
‘{ key, state }’ attrs where
key identifies a service and
state is a service state.
- type: list of (submodule)
- default:
-
[ ]
- example:
-
[ { key = [ "milestone" "foo" ]; state = "up"; } { key = [ "daemon" "oneshot-script" ]; state = "complete"; } ] - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.daemons.<name>.requires.*.key
Label of a service. The head of the list is the record label and the tail is the fields.
system.synit.daemons.<name>.requires.*.state
Required service state.
system.synit.daemons.<name>.restart
Daemon restart policy. See https://synit.org/book/operation/builtin/daemon.html#whether-and-when-to-restart.
- type: one of always, on-error, all, never
- default:
-
"always"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.daemons.<name>.script
Syndicate-server script associated with this daemon.
- type: strings concatenated with 0
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/daemons.nix
system.synit.depends
List of edges in the service dependency graph. This list is populated from other options but dependencies can also be explicitly specified here.
system.synit.depends.*.dependee
Service that will be started if its dependers are required.
system.synit.depends.*.dependee.key
Label of a service. The head of the list is the record label and the tail is the fields.
system.synit.depends.*.dependee.state
Required service state.
system.synit.depends.*.key
Label of a service. The head of the list is the record label and the tail is the fields.
system.synit.enable
Enable Synit, either as a primary or secondary service-manager.
- type: unspecified value
- default:
-
"config.system.serviceManager ==
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit
system.synit.milestones
Attribute set of service milestones and their dependees. A milestone will not be required unless it has been added to system.synit.plan.requires.
- type: attribute set of (submodule)
- example:
-
{ network = { requires = [ { key = [ "milestone" "devices" ]; } { key = [ "daemon" "dhcpcd" ]; state = "ready"; } ]; }; } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/dependencies.nix
system.synit.milestones.<name>.provides
Reverse requires of this milestone. It is a list of service keys.
- type: list of list of string
- default:
-
[ ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/dependencies.nix
system.synit.milestones.<name>.requires
List of services required by this milestone.
system.synit.milestones.<name>.requires.*.key
Label of a service. The head of the list is the record label and the tail is the fields.
system.synit.milestones.<name>.requires.*.state
Required service state.
system.synit.pid1.package
The synit-pid1 package to use.
- type: package
- default:
-
pkgs.alt.sam.synit-pid1
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/pid1.nix
system.synit.plan.activatePlan
Template for the activation script run by the user.
system.synit.plan.config
The syndicate-server script that comprises a plan for system configuration.
- type: attribute set of ((list of anything) or string convertible to it)
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/plans.nix
system.synit.plan.file
File containing the complete syndicate-server script for this plan.
- type: read-only unspecified value
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/plans.nix
system.synit.plan.requires
List of services required by this plan.
system.synit.services
Alias of {option}`system.synit.system.services`.
- type: attribute set of (submodule)
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/system/service/synit/system.nix
system.synit.services.<name>.process.argv
Command filename and arguments for starting this service. This is
a raw command-line that should not contain any shell escaping. If expansion
of environmental variables is required then use a shell script or
importas from
slamPkgs.execline.
- type: list of (string or absolute path convertible to it)
- example:
-
[ (lib.getExe config.package) "--nobackground" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/system/service/portable/service.nix
system.synit.services.<name>.s6.rc.service
Alias of {option}`s6.rc.services.""`.
system.synit.services.<name>.s6.rc.services
This module configures s6 services.
- type: lazy attribute set of module
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/system/service/s6/service.nix
system.synit.services.<name>.services
A collection of modular services that are configured in one go.
You could consider the sub-service relationship to be an ownership relation. It does not automatically create any other relationship between services unless perhaps such a behavior is explicitly defined and enabled in another option.
- type: attribute set of (submodule)
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/system/service/synit/service.nix
https://git.informatics.coop/projects/slam/src/branch/trunk/modules/system/service/s6/service.nix
https://git.informatics.coop/projects/slam/src/branch/trunk/modules/system/service/portable/service.nix
system.synit.services.<name>.synit.daemon
Alias of {option}`synit.daemons.""`.
system.synit.services.<name>.synit.daemons
This module configures Synit daemons.
- type: lazy attribute set of module
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/system/service/synit/service.nix
system.synit.services.<name>.synit.enable
Whether Synit is managing this service.
- type: read-only unspecified value
- default:
-
false
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/system/service/synit/service.nix
system.synit.services.<name>.system.serviceManager
Which service-manager is managing this modular service.
system.synit.syndicate-server.package
The syndicate-server package to use.
- type: package
- default:
-
pkgs.alt.sam.syndicate-server
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit
system.synit.system.services
A collection of modular services.
- type: attribute set of (submodule)
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/system/service/synit/system.nix
system.toplevel.buildActions
Bash scripts to run during the build of the toplevel derivation.
- type: attribute set of ((submodule) or string convertible to it)
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/system/activation
system.toplevel.buildActions.<name>.deps
List of dependencies. The script will run after these.
system.toplevel.buildActions.<name>.text
The content of the script.
- type: strings concatenated with 0
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/system/activation
testing.backdoor.enable
Whether to enable backdoor shell service.
testing.driver
Test driver.
- type: value tcl (singular enum)
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/testing
testing.enable
Whether to enable test instrumentation.
testing.enableRootDisk
Whether to enable use a root file-system on a disk image otherwise use tmpfs.
testing.graphics.enable
Whether to enable graphic devices.
testing.network.enable
Enable test network interface.
testing.network.ip
IP address for this node on the test network.
- type: read-only string
- default:
-
"192.168.1.1"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/testing
testing.network.mac
MAC address for this node.
- type: read-only string
- default:
-
"52:54:00:12:01:01"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/testing
testing.network.nodeIndex
This node's index in the test network (1-based).
- type: read-only signed integer
- default:
-
1
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/testing
testing.network.vlan
VLAN number for this test network.
- type: read-only signed integer
- default:
-
1
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/testing
time.timeZone
System-wide timezone.
- type: null or string without spaces
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/time
users.groups
Groups for user accounts.
- type: attribute set of (submodule)
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/users/options.nix
users.groups.<name>.gid
The group GID. If the GID is null, a free GID is picked on activation.
- type: null or signed integer
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/users/options.nix
users.groups.<name>.members
The user names of the group members, added to the /etc/group file.
- type: list of (string, not containing newlines or colons)
- default:
-
[ ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/users/options.nix
users.groups.<name>.name
The name of the group. If undefined, the name of the attribute set will be used.
- type: string, not containing newlines or colons
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/users/options.nix
users.users
User accounts.
users.users.<name>.createHome
Whether to create the home directory and ensure ownership as well as permissions to match the user.
users.users.<name>.description
A short description of the user account, typically the user's full name. This is actually the “GECOS” “comment” field in /etc/passwd.
- type: string, not containing newlines or colons
- default:
-
""
- example:
-
"Alice Q. User"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/users/options.nix
users.users.<name>.extraGroups
The user's auxiliary groups.
users.users.<name>.group
The user's primary group.
users.users.<name>.home
The user's home directory.
- type: absolute path, not containing newlines or colons
- default:
-
"/var/empty"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/users/options.nix
users.users.<name>.initialHashedPassword
Specifies the initial hashed password for the user, i.e. the
hashed password assigned if the user does not already exist. If
users.mutableUsers is true, the password can be
changed subsequently using the passwd command.
Otherwise, it's equivalent to setting the
hashedPassword option.
- type: null or (string, not containing newlines or colons)
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/users/options.nix
users.users.<name>.initialPassword
Specifies the initial password for the user, i.e. the password
assigned if the user does not already exist. If
users.mutableUsers is true, the password can be
changed subsequently using the passwd command.
Otherwise, it's equivalent to setting the password
option. The same caveat applies: the password specified here is
world-readable in the Nix store, so it should only be used for guest
accounts or passwords that will be changed promptly.
users.users.<name>.isNormalUser
Indicates whether this is an account for a “real”
user. This automatically sets group to
‘users’,
createHome to
‘true’, home to
/home/«username», and
isSystemUser to
‘false’. Exactly one of
isNormalUser and isSystemUser
must be enabled.
users.users.<name>.isSystemUser
Indicates 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 enabled.
users.users.<name>.name
The name of the user account. If undefined, the name of the attribute set will be used.
- type: string, not containing newlines or colons
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/users/options.nix
users.users.<name>.password
Specifies the hashed password for the user.
users.users.<name>.passwordFile
The 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.
users.users.<name>.shell
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;’.
- type: null or package or (absolute path, not containing newlines or colons)
- default:
-
pkgs.shadow
- example:
-
pkgs.bashInteractive
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/users/options.nix
users.users.<name>.synit.configPaths
List of paths to configuration scripts to load into the user-level syndicate-server at boot.
- type: list of absolute path
- default:
-
[ ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/users.nix
users.users.<name>.synit.extraDataspaces
List of names of additional dataspaces to create within the user-bus. The config, log, and gatekeeper namespaces are reserved. Dataspaces othewise created within configuration files may be destroyed and recreated during a configuration transition.
users.users.<name>.synit.systemBus
Reference to system-bus. Can be
‘"$config"’ for full access
or an attenuation for restricted access. Defaults to an invalid
reference.
- type: unspecified value
- default:
-
"#f"
- example:
-
"@
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/synit/users.nix
users.users.<name>.uid
The account UID. If the UID is null, a free UID is picked on activation.
- type: null or signed integer
- default:
-
null
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/users/options.nix
virtualisation.cores
Specify the number of cores the guest is permitted to use. The number can be higher than the available cores on the host system.
- type: positive integer, meaning >0
- default:
-
1
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/virtualisation/common.nix
virtualisation.memorySize
The memory size in megabytes of the virtual machine.
- type: positive integer, meaning >0
- default:
-
1024
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/virtualisation/common.nix
virtualisation.qemu.argv
Command-line for starting the host QEMU.
- type: read-only list of string
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/virtualisation/qemu.nix
virtualisation.qemu.bootMode
Boot method used to load the guest.
- type: value kernel (singular enum)
- default:
-
"kernel"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/virtualisation/qemu.nix
virtualisation.qemu.extraArgs
Extra command-line options for starting the host QEMU.
virtualisation.qemu.mountHostNixStore
Mount the host Nix store as a 9p mount.
- type: boolean
- default:
-
config.virtualisation.qemu.bootMode == "kernel"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/virtualisation/qemu.nix
virtualisation.qemu.nics
Network interface cards to add to the VM.
- type: attribute set of (submodule)
- default:
-
{ } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/virtualisation/qemu.nix
virtualisation.qemu.nics.<name>.args
List of arguments specific to this nic.
- type: list of string
- default:
-
[ ]
- example:
-
[ "model=virtio-net-pci" ]
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/virtualisation/qemu.nix
virtualisation.qemu.package
The qemu package to use.
virtualisation.qemu.sharedDirectories
An attributes set of directories that will be shared with the virtual machine using VirtFS (9P filesystem over VirtIO). The attribute name will be used as the 9P mount tag.
- type: attribute set of (submodule)
- default:
-
{ } - example:
-
{ my-share = { source = "/path/to/be/shared"; target = "/mnt/shared"; }; } - declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/virtualisation/qemu.nix
virtualisation.qemu.sharedDirectories.<name>.securityModel
The security model to use for this share:
- `passthrough`: files are stored using the same credentials as they are created on the guest (this requires QEMU to run as root) - `mapped-xattr`: some of the file attributes like uid, gid, mode bits and link target are stored as file attributes - `mapped-file`: the attributes are stored in the hidden .virtfs_metadata directory. Directories exported by this security model cannot interact with other unix tools - `none`: same as "passthrough" except the sever won't report failures if it fails to set file attributes like ownership
- type: one of passthrough, mapped-xattr, mapped-file, none
- default:
-
"mapped-xattr"
- declared by:
- https://git.informatics.coop/projects/slam/src/branch/trunk/modules/virtualisation/qemu.nix
virtualisation.qemu.sharedDirectories.<name>.source
The path of the directory to share, can be a shell variable
virtualisation.qemu.sharedDirectories.<name>.target
The mount point of the directory inside the virtual machine
xdg.autostart.enable
Whether to install files to support the [XDG Autostart specification](https://specifications.freedesktop.org/autostart-spec/latest).
- type: boolean
- default:
-
true
- declared by:
- /nix/store/ci5r8q32x2y8zcab0bha5yj7474ysr76-source/nixos/modules/config/xdg/autostart.nix
xdg.mime.addedAssociations
Adds associations between mimetypes and applications. See the [specifications](https://specifications.freedesktop.org/mime-apps-spec/latest/associations) for more information. Globs in all variations are supported.
- type: attribute set of (string or ((list of string) or string) convertible to it)
- default:
-
{ } - example:
-
{ "application/pdf" = "firefox.desktop"; "text/*" = [ "nvim.desktop" "codium.desktop" ]; } - declared by:
- /nix/store/ci5r8q32x2y8zcab0bha5yj7474ysr76-source/nixos/modules/config/xdg/mime.nix
xdg.mime.defaultApplications
Sets the default applications for given mimetypes. See the [specifications](https://specifications.freedesktop.org/mime-apps-spec/latest/default) for more information. Globs in all variations are supported.
- type: attribute set of (string or ((list of string) or string) convertible to it)
- default:
-
{ } - example:
-
{ "application/pdf" = "firefox.desktop"; "image/*" = [ "sxiv.desktop" "gimp.desktop" ]; } - declared by:
- /nix/store/ci5r8q32x2y8zcab0bha5yj7474ysr76-source/nixos/modules/config/xdg/mime.nix
xdg.mime.enable
Whether to install files to support the [XDG Shared MIME-info specification](https://specifications.freedesktop.org/shared-mime-info-spec/latest) and the [XDG MIME Applications specification](https://specifications.freedesktop.org/mime-apps-spec/latest).
- type: boolean
- default:
-
true
- declared by:
- /nix/store/ci5r8q32x2y8zcab0bha5yj7474ysr76-source/nixos/modules/config/xdg/mime.nix
xdg.mime.removedAssociations
Removes associations between mimetypes and applications. See the [specifications](https://specifications.freedesktop.org/mime-apps-spec/latest/associations) for more information. Globs in all variations are supported.
- type: attribute set of (string or ((list of string) or string) convertible to it)
- default:
-
{ } - example:
-
{ "audio/*" = [ "mpv.desktop" "umpv.desktop" ]; "inode/directory" = "codium.desktop"; } - declared by:
- /nix/store/ci5r8q32x2y8zcab0bha5yj7474ysr76-source/nixos/modules/config/xdg/mime.nix
xdg.portal.enable
Whether to enable XDG portals.
xdg.portal.portals
List of portals.
xdg.terminal-exec.enable
Whether to enable xdg-terminal-exec, the [proposed](https://gitlab.freedesktop.org/xdg/xdg-specs/-/merge_requests/46) Default Terminal Execution Specification.
- type: boolean
- default:
-
false
- example:
-
true
- declared by:
- /nix/store/ci5r8q32x2y8zcab0bha5yj7474ysr76-source/nixos/modules/config/xdg/terminal-exec.nix
xdg.terminal-exec.package
The xdg-terminal-exec package to use.
- type: package
- default:
-
pkgs.xdg-terminal-exec
- declared by:
- /nix/store/ci5r8q32x2y8zcab0bha5yj7474ysr76-source/nixos/modules/config/xdg/terminal-exec.nix
xdg.terminal-exec.settings
Configuration 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](https://specifications.freedesktop.org/desktop-entry-spec/latest/ar01s02.html#desktop-file-id) to try in order of decreasing priority.
- type: attribute set of list of string
- default:
-
{ } - example:
-
{ GNOME = [ "com.raggesilver.BlackBox.desktop" "org.gnome.Terminal.desktop" ]; default = [ "kitty.desktop" ]; } - declared by:
- /nix/store/ci5r8q32x2y8zcab0bha5yj7474ysr76-source/nixos/modules/config/xdg/terminal-exec.nix
| May 29, 2026 | SLAM |