Appendix B. NixOS configuration options

B.1. Usage
B.2. Options

B.1. Usage

To use these options modify your configuration.nix such that it has the format

{ pkgs, ... }:

let

  nurNoPkgs = import <nur> { pkgs = null; };

in

{
  import = [ nurNoPkgs.repos.rycee.modules.name … ];

  # …
}

where name is

containers-docker-support

for the containers.<name>.enableDockerSupport option, which enables configuration of NixOS declarative containers such that they allow running Docker containers;

home-manager

for using Home Manager as a NixOS module.

B.2. Options

_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:

<nur-rycee/lib/modules.nix>
containers

Type: attribute set of (submodule)

Declared by:

<nur-rycee/containers-docker-support.nix>
containers.<name>.enableDockerSupport

Whether support for the Docker daemon should be added to this declarative container. Note, this will disable a number of important isolation features of this container and should only be enabled if you fully trust the container to access your system as a whole.

Type: boolean

Default: false

Example: true

Declared by:

<nur-rycee/containers-docker-support.nix>