Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

_module.args

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

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

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

  • lib: The nixpkgs library.

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

  • options: The options declared in all modules.

  • specialArgs: The specialArgs argument passed to evalModules.

  • All attributes of specialArgs

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

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

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

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

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

  • pkgs: The nixpkgs package set according to the nixpkgs.pkgs option.

Type: lazy attribute set of raw value

Declared by:

apply

Function to extend the current configuration with additional modules. Re-evaluates the configuration with the original settings plus the new module.

Type: function that evaluates to a(n) raw value (read only)

Default: <function>

"config.toml"

inori configuration file.

Type: submodule

Default:

{
  path = <derivation config.toml>;
}

"config.toml".content

Content of the file. This can be a multi-line string that will be written to the Nix store and made available via the path option.

Type: strings concatenated with “\n”

"config.toml".path

The path to the file. By default, this is automatically generated using pkgs.writeText with the attribute name and content. You can override this to provide:

  • A custom Nix path (e.g., ./config.txt or pkgs.writeText “name” “content”)
  • An absolute path string outside the store (e.g., “/etc/config.txt”)
  • A path with environment variables (e.g., “$HOME/.config/app.conf”)

Type: absolute path or string

Default: "pkgs.writeText name <content>"

extend

Function to extend the current configuration with additional settings. Re-evaluates the configuration with the original modules plus the new settings.

Type: function that evaluates to a(n) raw value

Default: <function>

settings

Configuration of inori. See https://github.com/eshrh/inori/blob/master/CONFIGURATION.md

Type: TOML value

Default: { }