_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: ThespecialArgsargument passed toevalModules. -
All attributes of
specialArgsWhereas 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
specialArgswhich are available during import resolution.For NixOS,
specialArgsincludesmodulesPath, which allows you to import extra modules from the nixpkgs package tree without having to somehow make the module aware of the location of thenixpkgsor 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 thenixpkgs.pkgsoption.
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"
This option has no description.
Type: submodule
Default:
{
path = <derivation helix-config>;
}
"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>
extraFiles
Additional files to be placed in the config directory
Type: list of (submodule)
Default:
[ ]
extraFiles.*.file
File or path to add in the helix config directory
Type: submodule
extraFiles.*.file.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”
extraFiles.*.file.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>"
extraFiles.*.name
File name in the helix config directory
Type: non-empty string
extraSettings
Extra lines appended to the config file. This can be used to maintain order for settings.
Type: strings concatenated with “\n”
Default:
""
ignoreFile
This option has no description.
Type: submodule
ignoreFile.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”
ignoreFile.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>"
ignores
List of paths to be ignored by the file-picker. The format is the same as in .gitignore.
Type: list of non-empty string
Default:
[ ]
languages
Language specific settings See https://docs.helix-editor.com/languages.html
Type: TOML value
Default:
{ }
"languages.toml"
This option has no description.
Type: submodule
Default:
{
path = <derivation helix-languages.toml>;
}
"languages.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”
"languages.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>"
settings
General settings See https://docs.helix-editor.com/configuration.html
Type: TOML value
Default:
{ }
themes
Themes to add to config. See https://docs.helix-editor.com/themes.html
Type: attribute set of (TOML value or strings concatenated with “\n”)
Default:
{ }