".zshenv"
This option has no description.
Type: submodule
Default:
{
content = "EXAMPLE=TRUE";
}
".zshenv".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”
".zshenv".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>"
".zshrc"
This option has no description.
Type: submodule
Default:
{
content = ''
# KeyMap
bindkey -e
# Aliases
# Completion
#Autosuggestions
# Integrations
# History
HISTSIZE=10000
HISTSAVE=10000
setopt appendhistory
# Extra Content
'';
}
".zshrc".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”
".zshrc".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>"
_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>
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>
extraRC
extra stuff to put in .zshrc, gets appended after all of the options
Type: strings concatenated with “\n”
Default:
""
settings.autoSuggestions.enable
Whether to enable autoSuggestions.
Type: boolean
Default:
false
Example:
true
settings.autoSuggestions.highlight
Custom styles for autosuggestion highlighting
Type: null or string
Default:
null
Example:
"fg=#ff00ff,bg=cyan,bold,underline"
settings.autoSuggestions.strategy
This option has no description.
Type: list of (one of “history”, “completion”, “match_prev_cmd”)
Default:
[
"history"
"completion"
]
settings.autocd
cd into a directory just by typing it in
Type: boolean
Default:
false
settings.completion.enable
Whether to enable completions.
Type: boolean
Default:
false
Example:
true
settings.completion.caseInsensitive
Whether to enable completions.
Type: boolean
Default:
false
Example:
true
settings.completion.colors
make the completions colorful (as if you were using ls --color)
Type: boolean
Default:
false
settings.completion.extraCompletions
enable to add zsh-completions package, it has extra completions for other tools
Type: boolean
Default:
false
settings.completion.fuzzySearch
Whether to enable fuzzy-completion.
Type: boolean
Default:
false
Example:
true
settings.completion.init
Initialization commands to run when completion is enabled.
Type: strings concatenated with “\n”
Default:
"autoload -U compinit && compinit"
settings.env
environment variables to put in .zshenv as an attribute set of strings just like environment.systemVariables
Type: attribute set of string
Default:
{
EXAMPLE = "TRUE";
}
settings.history.append
append history for every new session instead of replacing it
Type: boolean
Default:
true
settings.history.expanded
save timestamps with history
Type: boolean
Default:
false
settings.history.expireDupsFirst
remove duplicates in the history first to make room for new commands
Type: boolean
Default:
false
settings.history.findNoDups
don’t display duplicates when doing a history search
Type: boolean
Default:
false
settings.history.ignoreAllDups
if you run the same command twice, the newer replaces the old one in history, even if its a different output
Type: boolean
Default:
false
settings.history.ignoreDups
if you run the same command twice, the newer replaces the old one in history, only if it’s the same output
Type: boolean
Default:
false
settings.history.ignoreSpace
a command is not added to history if a space preceeds it
Type: boolean
Default:
false
settings.history.save
the number of history lines to save
Type: signed integer
Default:
10000
settings.history.saveNoDups
don’t write duplicates into the history file.
Type: boolean
Default:
false
settings.history.share
share history between sessions
Type: boolean
Default:
false
settings.history.size
the number of lines to keep
Type: signed integer
Default:
10000
settings.integrations.atuin.enable
Whether to enable atuin.
Type: boolean
Default:
false
Example:
true
settings.integrations.atuin.package
This option has no description.
Type: package
Default:
<derivation atuin-18.10.0>
settings.integrations.fzf.enable
Whether to enable fzf.
Type: boolean
Default:
false
Example:
true
settings.integrations.fzf.package
This option has no description.
Type: package
Default:
<derivation fzf-0.67.0>
settings.integrations.oh-my-posh.enable
Whether to enable oh-my-posh.
Type: boolean
Default:
false
Example:
true
settings.integrations.oh-my-posh.package
This option has no description.
Type: package
Default:
<derivation oh-my-posh-26.23.6>
settings.integrations.pay-respects.enable
Whether to enable pay-respects.
Type: boolean
Default:
false
Example:
true
settings.integrations.pay-respects.package
This option has no description.
Type: package
Default:
<derivation pay-respects-0.7.9>
settings.integrations.pay-respects.flags
This option has no description.
Type: list of string
Default:
[ ]
settings.integrations.starship.enable
Whether to enable starship.
Type: boolean
Default:
false
Example:
true
settings.integrations.starship.package
This option has no description.
Type: package
Default:
<derivation starship-1.24.1>
settings.integrations.zoxide.enable
Whether to enable zoxide.
Type: boolean
Default:
false
Example:
true
settings.integrations.zoxide.package
This option has no description.
Type: package
Default:
<derivation zoxide-0.9.8>
settings.integrations.zoxide.flags
This option has no description.
Type: list of string
Default:
[ ]
settings.keyMap
zsh key map, defaults to emacs mode (bindkey -e).
Type: one of “emacs”, “viins”, “vicmd”
Default:
"emacs"
settings.shellAliases
shell aliases (alias – key=value)
Type: attribute set of string
Default:
{ }