Micros Documentation Options

/ to filter ↑ ↓ to browse Esc to return to the filter

_module.args Link copied!

Additional arguments passed to each module in addition to ones like lib, config, and pkgs, modulesPath.

This option is also available to all submodules. Submodules do not inherit args from their parent module, nor do they provide args to their parent module or sibling submodules. The sole exception to this is the argument name which is provided by parent modules to a submodule and contains the attribute name the submodule is bound to, or a unique generated name if it is not bound to an attribute.

Some arguments are already passed by default, of which the following cannot be changed with this option:

  • lib: The nixpkgs library.

  • config: The results of all options after merging the values from all modules together.

  • options: The options declared in all modules.

  • specialArgs: The specialArgs argument passed to evalModules.

  • All attributes of specialArgs

    Whereas option values can generally depend on other option values thanks to laziness, this does not apply to imports, which must be computed statically before anything else.

    For this reason, callers of the module system can provide specialArgs which are available during import resolution.

    For NixOS, specialArgs includes modulesPath, which allows you to import extra modules from the nixpkgs package tree without having to somehow make the module aware of the location of the nixpkgs or NixOS directories.

    { modulesPath, ... }: {
      imports = [
        (modulesPath + "/profiles/minimal.nix")
      ];
    }
    

For NixOS, the default value for this option includes at least this argument:

  • pkgs: The nixpkgs package set according to the nixpkgs.pkgs option.
Type
lazy attribute set of raw value
Default
{ }
Declared in
<nixpkgs/lib/modules.nix>

boot.consoleLogLevel Link copied!

The kernel console loglevel. All Kernel Messages with a log level smaller than this setting will be printed to the console.

Type
signed integer
Default
4
Declared in
<nixpkgs/nixos/modules/system/boot/kernel.nix>

boot.devShmSize Link copied!

Size limit for the /dev/shm tmpfs. Look at mount(8), tmpfs size option, for the accepted syntax.

Type
string
Default
"50%"
Example
"256m"
Declared in
<micros/micros/modules/system/filesystems.nix>

boot.devSize Link copied!

Size limit for the /dev tmpfs. Look at mount(8), tmpfs size option, for the accepted syntax.

Type
string
Default
"5%"
Example
"32m"
Declared in
<micros/micros/modules/system/filesystems.nix>

boot.extraModulePackages Link copied!

A list of additional packages supplying kernel modules.

Type
list of package
Default
[ ]
Example
[ config.boot.kernelPackages.nvidia_x11 ]
Declared in
<nixpkgs/nixos/modules/system/boot/kernel.nix>

boot.init.availableBackends Link copied!

List of available backends.

Type
attribute set of (submodule)
Default
{ }
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.availableBackends.<name>.executable Link copied!

Executable that stage 2 will hand off to as PID 1.

Type
absolute path or string
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.availableBackends.<name>.extraFiles Link copied!

Extra files required by the init system, passed directly to environment.etc and uses the same syntax.

Type
attribute set of (submodule)
Default
[ ]
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.availableBackends.<name>.extraFiles.<name>.enable Link copied!

Whether this /etc file should be generated. This option allows specific /etc files to be disabled.

Type
boolean
Default
true
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.availableBackends.<name>.extraFiles.<name>.gid Link copied!

GID of created file. Only takes effect when the file is copied (that is, the mode is not 'symlink').

Type
signed integer
Default
0
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.availableBackends.<name>.extraFiles.<name>.group Link copied!

Group name of file owner.

Only takes effect when the file is copied (that is, the mode is not symlink).

When services.userborn.enable, this option has no effect. You have to assign a gid instead. Otherwise this option takes precedence over gid.

Type
string
Default
"+0"
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.availableBackends.<name>.extraFiles.<name>.mode Link copied!

If set to something else than symlink, the file is copied instead of symlinked, with the given file mode.

Type
string
Default
"symlink"
Example
"0600"
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.availableBackends.<name>.extraFiles.<name>.source Link copied!

Path of the source file.

Type
absolute path
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.availableBackends.<name>.extraFiles.<name>.target Link copied!

Name of symlink (relative to /etc). Defaults to the attribute name.

Type
string
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.availableBackends.<name>.extraFiles.<name>.text Link copied!

Text of the file.

Type
null or strings concatenated with "\n"
Default
null
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.availableBackends.<name>.extraFiles.<name>.uid Link copied!

UID of created file. Only takes effect when the file is copied (that is, the mode is not 'symlink').

Type
signed integer
Default
0
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.availableBackends.<name>.extraFiles.<name>.user Link copied!

User name of file owner.

Only takes effect when the file is copied (that is, the mode is not symlink).

When services.userborn.enable, this option has no effect. You have to assign a uid instead. Otherwise this option takes precedence over uid.

Type
string
Default
"+0"
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.availableBackends.<name>.name Link copied!

Name of the init backend used after stage-2 activation.

Type
string
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.availableBackends.<name>.requiredPackages Link copied!

Packages which are required for the backend to function.

Type
list of package
Default
[ ]
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.availableBackends.<name>.serviceBuilder Link copied!

Function which takes config.micros.services as an input and outputs files to be appended to environment.etc.

Type
function
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.availableBackends.<name>.supportedFeatures Link copied!

Extra features offered by the init backend, e.g. dependency management

Type
list of value "dependencies" (singular enum)
Default
[ ]
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.currentBackend Link copied!

Init backend used after stage-2 activation has completed.

Type
submodule
Default
{
  executable = "/nix/store/zw18zm7a5g6qrdxil1y7x3kk189jg1vh-runit-2.3.1/bin/runit";
  extraFiles = {
    "runit/1" = {
      enable = true;
      gid = 0;
      group = "+0";
      mode = "symlink";
      source = <derivation runit-stage-1>;
      target = "runit/1";
      text = null;
      uid = 0;
      user = "+0";
    };
    "runit/2" = {
      enable = true;
      gid = 0;
      group = "+0";
      mode = "symlink";
      source = <derivation runit-stage-2>;
      target = "runit/2";
      text = null;
      uid = 0;
      user = "+0";
    };
    "runit/3" = {
      enable = true;
      gid = 0;
      group = "+0";
      mode = "symlink";
      source = <derivation runit-stage-3>;
      target = "runit/3";
      text = null;
      uid = 0;
      user = "+0";
    };
    "service/boot/run" = {
      enable = true;
      gid = 0;
      group = "+0";
      mode = "symlink";
      source = <derivation boot-manager-service>;
      target = "service/boot/run";
      text = null;
      uid = 0;
      user = "+0";
    };
  };
  name = "runit";
  requiredPackages = [
    <derivation runit-compat>
    <derivation runit-2.3.1>
  ];
  serviceBuilder = <function>;
  supportedFeatures = [
    "dependencies"
  ];
}
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.currentBackend.executable Link copied!

Executable that stage 2 will hand off to as PID 1.

Type
absolute path or string
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.currentBackend.extraFiles Link copied!

Extra files required by the init system, passed directly to environment.etc and uses the same syntax.

Type
attribute set of (submodule)
Default
[ ]
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.currentBackend.extraFiles.<name>.enable Link copied!

Whether this /etc file should be generated. This option allows specific /etc files to be disabled.

Type
boolean
Default
true
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.currentBackend.extraFiles.<name>.gid Link copied!

GID of created file. Only takes effect when the file is copied (that is, the mode is not 'symlink').

Type
signed integer
Default
0
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.currentBackend.extraFiles.<name>.group Link copied!

Group name of file owner.

Only takes effect when the file is copied (that is, the mode is not symlink).

When services.userborn.enable, this option has no effect. You have to assign a gid instead. Otherwise this option takes precedence over gid.

Type
string
Default
"+0"
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.currentBackend.extraFiles.<name>.mode Link copied!

If set to something else than symlink, the file is copied instead of symlinked, with the given file mode.

Type
string
Default
"symlink"
Example
"0600"
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.currentBackend.extraFiles.<name>.source Link copied!

Path of the source file.

Type
absolute path
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.currentBackend.extraFiles.<name>.target Link copied!

Name of symlink (relative to /etc). Defaults to the attribute name.

Type
string
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.currentBackend.extraFiles.<name>.text Link copied!

Text of the file.

Type
null or strings concatenated with "\n"
Default
null
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.currentBackend.extraFiles.<name>.uid Link copied!

UID of created file. Only takes effect when the file is copied (that is, the mode is not 'symlink').

Type
signed integer
Default
0
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.currentBackend.extraFiles.<name>.user Link copied!

User name of file owner.

Only takes effect when the file is copied (that is, the mode is not symlink).

When services.userborn.enable, this option has no effect. You have to assign a uid instead. Otherwise this option takes precedence over uid.

Type
string
Default
"+0"
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.currentBackend.name Link copied!

Name of the init backend used after stage-2 activation.

Type
string
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.currentBackend.requiredPackages Link copied!

Packages which are required for the backend to function.

Type
list of package
Default
[ ]
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.currentBackend.serviceBuilder Link copied!

Function which takes config.micros.services as an input and outputs files to be appended to environment.etc.

Type
function
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.currentBackend.supportedFeatures Link copied!

Extra features offered by the init backend, e.g. dependency management

Type
list of value "dependencies" (singular enum)
Default
[ ]
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.executable Link copied!

Executable that stage 2 will hand off to as PID 1.

Type
absolute path or string
Default
"/nix/store/zw18zm7a5g6qrdxil1y7x3kk189jg1vh-runit-2.3.1/bin/runit"
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.init.stage2Path Link copied!

PATH value used by stage 2 before handing off to the init backend.

Type
string
Default
"/run/booted-system/sw/bin"
Declared in
<micros/micros/modules/system/boot/init.nix>

boot.initrd.enable Link copied!

Whether to enable initrd.

Type
boolean
Default
true
Example
true
Declared in
<micros/micros/modules/system/boot/stage-1.nix>

boot.initrd.allowMissingModules Link copied!

Whether the initrd can be built even though modules listed in boot.initrd.kernelModules or boot.initrd.availableKernelModules are missing from the kernel. This is useful when combining configurations that include a lot of modules, such as hardware.enableAllHardware, with kernels that don't provide as many modules as typical NixOS kernels.

Note that enabling this is discouraged. Instead, try disabling individual modules by setting e.g. boot.initrd.availableKernelModules.foo = lib.mkForce false;

Type
boolean
Default
false
Declared in
<nixpkgs/nixos/modules/system/boot/kernel.nix>

boot.initrd.availableKernelModules Link copied!

The set of kernel modules in the initial ramdisk used during the boot process. This set must include all modules necessary for mounting the root device. That is, it should include modules for the physical device (e.g., SCSI drivers) and for the file system (e.g., ext3). The set specified here is automatically closed under the module dependency relation, i.e., all dependencies of the modules list here are included automatically. The modules listed here are available in the initrd, but are only loaded on demand (e.g., the ext3 module is loaded automatically when an ext3 filesystem is mounted, and modules for PCI devices are loaded when they match the PCI ID of a device in your system). To force a module to be loaded, include it in boot.initrd.kernelModules.

This can either be a list of modules, or an attrset. In an attrset, names that are set to true represent modules that will be included. Note that setting these names to false does not prevent the module from being loaded. For that, use boot.blacklistedKernelModules.

Type
(attribute set of boolean) or (list of string) convertible to it
Default
{ }
Example
[
  "sata_nv"
  "ext3"
]
Declared in
<nixpkgs/nixos/modules/system/boot/kernel.nix>

boot.initrd.compressor Link copied!

The compressor to use on the initrd image. May be any of:

  • The name of one of the predefined compressors, see pkgs/build-support/kernel/initrd-compressor-meta.nix for the definitions.
  • A function which, given the nixpkgs package set, returns the path to a compressor tool, e.g. pkgs: "${pkgs.pigz}/bin/pigz"
  • (not recommended, because it does not work when cross-compiling) the full path to a compressor tool, e.g. "${pkgs.pigz}/bin/pigz"

The given program should read data from stdin and write it to stdout compressed.

Type
string or function that evaluates to a(n) string
Default

zstd if the kernel supports it (5.9+), gzip if not

Example
"xz"
Declared in
<micros/micros/modules/system/boot/stage-1.nix>

boot.initrd.compressorArgs Link copied!

Arguments to pass to the compressor for the initrd image, or null to use the compressor's defaults.

Type
null or (list of string)
Default
null
Declared in
<micros/micros/modules/system/boot/stage-1.nix>

boot.initrd.includeDefaultModules Link copied!

This option, if set, adds a collection of default kernel modules to boot.initrd.availableKernelModules and boot.initrd.kernelModules.

Type
boolean
Default
true
Declared in
<nixpkgs/nixos/modules/system/boot/kernel.nix>

boot.initrd.kernelModules Link copied!

Set of modules that are always loaded by the initrd.

This can either be a list of modules, or an attrset. In an attrset, names that are set to true represent modules that will be included. Note that setting these names to false does not prevent the module from being loaded. For that, use boot.blacklistedKernelModules.

Type
(attribute set of boolean) or (list of string) convertible to it
Default
{ }
Declared in
<nixpkgs/nixos/modules/system/boot/kernel.nix>

boot.isContainer Link copied!

Whether the image is a container.

Type
boolean
Default
false
Declared in
<micros/micros/modules/system/boot/containers.nix>

boot.kernel.enable Link copied!

Whether to enable the Linux kernel. This is useful for systemd-like containers which do not require a kernel.

Type
boolean
Default
true
Example
true
Declared in
<nixpkgs/nixos/modules/system/boot/kernel.nix>

boot.kernel.randstructSeed Link copied!

Provides a custom seed for the RANDSTRUCT security option of the Linux kernel. Note that RANDSTRUCT is only enabled in NixOS hardened kernels. Using a custom seed requires building the kernel and dependent packages locally, since this customization happens at build time.

Type
string
Default
""
Example
"my secret seed"
Declared in
<nixpkgs/nixos/modules/system/boot/kernel.nix>

boot.kernel.sysctl Link copied!

Runtime parameters of the Linux kernel, as set by sysctl(8). Note that sysctl parameters names must be enclosed in quotes (e.g. "vm.swappiness" instead of vm.swappiness). The value of each parameter may be a string, integer, boolean, or null (signifying the option will not appear at all).

Type
open submodule of attribute set of (sysctl option value)
Default
{ }
Example
{ "net.ipv4.tcp_syncookies" = false; "vm.swappiness" = 60; }
Declared in
<nixpkgs/nixos/modules/config/sysctl.nix>

boot.kernel.sysctl."net.core.rmem_max" Link copied!

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 in
<nixpkgs/nixos/modules/config/sysctl.nix>

boot.kernel.sysctl."net.core.wmem_max" Link copied!

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 in
<nixpkgs/nixos/modules/config/sysctl.nix>

boot.kernelModules Link copied!

The set of kernel modules to be loaded in the second stage of the boot process. Note that modules that are needed to mount the root file system should be added to boot.initrd.availableKernelModules or boot.initrd.kernelModules.

This can either be a list of modules, or an attrset. In an attrset, names that are set to true represent modules that will be included. Note that setting these names to false does not prevent the module from being loaded. For that, use boot.blacklistedKernelModules.

Type
(attribute set of boolean) or (list of string) convertible to it
Default
{ }
Declared in
<nixpkgs/nixos/modules/system/boot/kernel.nix>

boot.kernelPackages Link copied!

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 in
<nixpkgs/nixos/modules/system/boot/kernel.nix>

boot.kernelParams Link copied!

Parameters added to the kernel command line.

Type
list of string, with spaces inside double quotes
Default
[ ]
Declared in
<nixpkgs/nixos/modules/system/boot/kernel.nix>

boot.kernelPatches Link copied!

A list of additional patches to apply to the kernel.

Every item should be an attribute set with the following attributes:

{
  name = "foo";                 # descriptive name, required

  patch = ./foo.patch;          # path or derivation that contains the patch source
                                # (required, but can be null if only config changes
                                # are needed)

  structuredExtraConfig = {     # attrset of extra configuration parameters without the CONFIG_ prefix
    FOO = lib.kernel.yes;       # (optional)
  };                            # values should generally be lib.kernel.yes,
                                # lib.kernel.no or lib.kernel.module

  features = {                  # attrset of extra "features" the kernel is considered to have
    foo = true;                 # (may be checked by other NixOS modules, optional)
  };

  extraConfig = "FOO y";        # extra configuration options in string form without the CONFIG_ prefix
                                # (optional, multiple lines allowed to specify multiple options)
                                # (deprecated, use structuredExtraConfig instead)
}

There's a small set of existing kernel patches in Nixpkgs, available as pkgs.kernelPatches, that follow this format and can be used directly.

Type
list of (attribute set)
Default
[ ]
Example
[
  {
    name = "foo";
    patch = ./foo.patch;
    structuredExtraConfig.FOO = lib.kernel.yes;
    features.foo = true;
  }
  {
    name = "foo-ml-mbox";
    patch = (fetchurl {
      url = "https://lore.kernel.org/lkml/19700205182810.58382-1-email@domain/t.mbox.gz";
      hash = "sha256-...";
    });
  }
]
Declared in
<nixpkgs/nixos/modules/system/boot/kernel.nix>

boot.runSize Link copied!

Size limit for the /run tmpfs. Look at mount(8), tmpfs size option, for the accepted syntax.

Type
string
Default
"25%"
Example
"256m"
Declared in
<micros/micros/modules/system/filesystems.nix>

boot.specialFileSystems.<name>.enable Link copied!

Whether to enable the filesystem mount.

Type
boolean
Default
true
Example
true
Declared in
<micros/micros/modules/system/filesystems.nix>

boot.specialFileSystems.<name>.depends Link copied!

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 in
<micros/micros/modules/system/filesystems.nix>

boot.specialFileSystems.<name>.device Link copied!

Location of the device.

Type
null or string (with check: non-empty)
Default
null
Example
"/dev/sda"
Declared in
<micros/micros/modules/system/filesystems.nix>

boot.specialFileSystems.<name>.fsType Link copied!

Type of the file system.

Type
string (with check: non-empty)
Default
"auto"
Example
"ext3"
Declared in
<micros/micros/modules/system/filesystems.nix>

boot.specialFileSystems.<name>.mountPoint Link copied!

Location of the mounted file system.

Type
string (with check: non-empty without trailing slash)
Example
"/mnt/usb"
Declared in
<micros/micros/modules/system/filesystems.nix>

boot.specialFileSystems.<name>.neededForBoot Link copied!

Whether to mount filesystem in Stage 1

Type
boolean
Default
false
Example
true
Declared in
<micros/micros/modules/system/filesystems.nix>

boot.specialFileSystems.<name>.options Link copied!

Options used to mount the file system.

Type
non-empty (list of string (with check: non-empty))
Default
[
  "defaults"
]
Example
[
  "data=journal"
]
Declared in
<micros/micros/modules/system/filesystems.nix>

boot.specialFileSystems.<name>.stratis.poolUuid Link copied!

UUID of the stratis pool that the fs is located in

Type
null or string
Default
null
Example
"04c68063-90a5-4235-b9dd-6180098a20d9"
Declared in
<micros/micros/modules/system/filesystems.nix>

boot.supportedFilesystems Link copied!

Names of supported filesystem types, or an attribute set of file system types and their state. The set form may be used together with lib.mkForce to explicitly disable support for specific filesystems, e.g. to disable ZFS with an unsupported kernel.

Type
(attribute set of boolean) or (list of string) convertible to it
Default
{ }
Example
{
  btrfs = true;
  zfs = lib.mkForce false;
}
Declared in
<micros/micros/modules/system/filesystems.nix>

environment.binsh Link copied!

The shell executable that is linked system-wide to /bin/sh.

Type
absolute path
Default
"${config.system.build.binsh}/bin/sh"
Example
"${pkgs.dash}/bin/dash"
Declared in
<micros/micros/modules/system/environment/environment.nix>

environment.etc Link copied!

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 in
<nixpkgs/nixos/modules/system/etc/etc.nix>

environment.etc.<name>.enable Link copied!

Whether this /etc file should be generated. This option allows specific /etc files to be disabled.

Type
boolean
Default
true
Declared in
<nixpkgs/nixos/modules/system/etc/etc.nix>

environment.etc.<name>.gid Link copied!

GID of created file. Only takes effect when the file is copied (that is, the mode is not 'symlink').

Type
signed integer
Default
0
Declared in
<nixpkgs/nixos/modules/system/etc/etc.nix>

environment.etc.<name>.group Link copied!

Group name of file owner.

Only takes effect when the file is copied (that is, the mode is not symlink).

When services.userborn.enable, this option has no effect. You have to assign a gid instead. Otherwise this option takes precedence over gid.

Type
string
Default
"+0"
Declared in
<nixpkgs/nixos/modules/system/etc/etc.nix>

environment.etc.<name>.mode Link copied!

If set to something else than symlink, the file is copied instead of symlinked, with the given file mode.

Type
string
Default
"symlink"
Example
"0600"
Declared in
<nixpkgs/nixos/modules/system/etc/etc.nix>

environment.etc.<name>.source Link copied!

Path of the source file.

Type
absolute path
Declared in
<nixpkgs/nixos/modules/system/etc/etc.nix>

environment.etc.<name>.target Link copied!

Name of symlink (relative to /etc). Defaults to the attribute name.

Type
string
Declared in
<nixpkgs/nixos/modules/system/etc/etc.nix>

environment.etc.<name>.text Link copied!

Text of the file.

Type
null or strings concatenated with "\n"
Default
null
Declared in
<nixpkgs/nixos/modules/system/etc/etc.nix>

environment.etc.<name>.uid Link copied!

UID of created file. Only takes effect when the file is copied (that is, the mode is not 'symlink').

Type
signed integer
Default
0
Declared in
<nixpkgs/nixos/modules/system/etc/etc.nix>

environment.etc.<name>.user Link copied!

User name of file owner.

Only takes effect when the file is copied (that is, the mode is not symlink).

When services.userborn.enable, this option has no effect. You have to assign a uid instead. Otherwise this option takes precedence over uid.

Type
string
Default
"+0"
Declared in
<nixpkgs/nixos/modules/system/etc/etc.nix>

environment.extraInit Link copied!

Shell script code called during global environment initialisation after all variables and profileVariables have been set. This code is assumed to be shell-independent, which means you should stick to pure sh without sh word split.

Type
strings concatenated with "\n"
Default
""
Declared in
<micros/micros/modules/system/environment/environment.nix>

environment.extraOutputsToInstall Link copied!

List of additional package outputs to be symlinked into /run/current-system/sw.

Type
list of string
Default
[ ]
Example
[
  "doc"
  "info"
  "docdev"
]
Declared in
<micros/micros/modules/system/system-path.nix>

environment.extraSetup Link copied!

Shell fragments to be run after the system environment has been created.

This should only be used for things that need to modify the internals of the environment, e.g. generating MIME caches. The environment being built can be accessed at $out.

Type
strings concatenated with "\n"
Default
""
Declared in
<micros/micros/modules/system/system-path.nix>

environment.systemPackages Link copied!

The set of packages that appear in /run/current-system/sw.

These packages are automatically available to all users, and are automatically updated every time you rebuild the system configuration. (The latter is the main difference with installing them in the default profile, /nix/var/nix/profiles/default.

Type
list of package
Default
[ ]
Example
[ pkgs.firefox pkgs.thunderbird ]
Declared in
<micros/micros/modules/system/system-path.nix>

fileSystems Link copied!

The file systems to be mounted. It must include an entry for the root directory (mountPoint = "/"). Each entry in the list is an attribute set with the following fields: mountPoint, device, fsType (a file system type recognised by mount; defaults to "auto"), and options (the mount options passed to mount using the -o flag; defaults to [ "defaults" ]).

Instead of specifying device, you can also specify a volume label (label) for file systems that support it, such as ext2/ext3 (see mke2fs -L).

Type
attribute set of (submodule)
Default
{ }
Example
{
  "/".device = "/dev/hda1";
  "/data" = {
    device = "/dev/hda2";
    fsType = "ext3";
    options = [ "data=journal" ];
  };
  "/bigdisk".label = "bigdisk";
}
Declared in
<micros/micros/modules/system/filesystems.nix>

fileSystems.<name>.enable Link copied!

Whether to enable the filesystem mount.

Type
boolean
Default
true
Example
true
Declared in
<micros/micros/modules/system/filesystems.nix>

fileSystems.<name>.autoFormat Link copied!

If the device does not currently contain a filesystem (as determined by blkid), then automatically format it with the filesystem type specified in fsType. Use with caution.

Type
boolean
Default
false
Declared in
<micros/micros/modules/system/filesystems.nix>

fileSystems.<name>.autoResize Link copied!

If set, the filesystem is grown to its maximum size before being mounted. (This is typically the size of the containing partition.) This is currently only supported for ext2/3/4 filesystems that are mounted during early boot.

Type
boolean
Default
false
Declared in
<micros/micros/modules/system/filesystems.nix>

fileSystems.<name>.depends Link copied!

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 in
<micros/micros/modules/system/filesystems.nix>

fileSystems.<name>.device Link copied!

Location of the device.

Type
null or string (with check: non-empty)
Default
null
Example
"/dev/sda"
Declared in
<micros/micros/modules/system/filesystems.nix>

fileSystems.<name>.fsType Link copied!

Type of the file system.

Type
string (with check: non-empty)
Default
"auto"
Example
"ext3"
Declared in
<micros/micros/modules/system/filesystems.nix>

fileSystems.<name>.label Link copied!

Label of the device (if any).

Type
null or string (with check: non-empty)
Default
null
Example
"root-partition"
Declared in
<micros/micros/modules/system/filesystems.nix>

fileSystems.<name>.mountPoint Link copied!

Location of the mounted file system.

Type
string (with check: non-empty without trailing slash)
Example
"/mnt/usb"
Declared in
<micros/micros/modules/system/filesystems.nix>

fileSystems.<name>.neededForBoot Link copied!

Whether to mount filesystem in Stage 1

Type
boolean
Default
false
Example
true
Declared in
<micros/micros/modules/system/filesystems.nix>

fileSystems.<name>.noCheck Link copied!

Disable running fsck on this filesystem.

Type
boolean
Default
false
Declared in
<micros/micros/modules/system/filesystems.nix>

fileSystems.<name>.options Link copied!

Options used to mount the file system.

Type
non-empty (list of string (with check: non-empty))
Default
[
  "defaults"
]
Example
[
  "data=journal"
]
Declared in
<micros/micros/modules/system/filesystems.nix>

fileSystems.<name>.stratis.poolUuid Link copied!

UUID of the stratis pool that the fs is located in

Type
null or string
Default
null
Example
"04c68063-90a5-4235-b9dd-6180098a20d9"
Declared in
<micros/micros/modules/system/filesystems.nix>

groups Link copied!

Attrset of groups.

Type
attribute set of (submodule)
Default
{ }
Declared in
<micros/micros/modules/system/users.nix>

groups.<name>.gid Link copied!

The group GID. If the GID is null, a free GID is picked on activation.

Type
null or signed integer
Default
null
Declared in
<micros/micros/modules/system/users.nix>

groups.<name>.members Link copied!

The user names of the group members, added to the /etc/group file.

Type
list of (string, not containing newlines or colons)
Default
[ ]
Declared in
<micros/micros/modules/system/users.nix>

groups.<name>.name Link copied!

The name of the group. If undefined, the name of the attribute set will be used.

Type
string, not containing newlines or colons
Declared in
<micros/micros/modules/system/users.nix>

hardware.firmware Link copied!

Firmware packages

Type
list of package
Default
[ ]
Declared in
<micros/micros/modules/hardware/firmware.nix>

More options load as you scroll.