_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:
<nixpkgs/lib/modules.nix>
|
services.kanata.enable
Whether to enable kanata keyboard remapper with Karabiner DriverKit.
Type: boolean
Default:
false
Example:
true
services.kanata.package
The kanata package to use.
Type: package
Default:
pkgs.kanata-with-cmd
services.kanata.configFile
Path to kanata configuration file.
Type: string
Default:
"/Users/user/.config/kanata/kanata.kbd"
services.kanata.configSource
If set, configFile will be symlinked to this path. Use a string for an out-of-store symlink (edits take effect without rebuild): configSource = “/Users/you/.nix-config/kanata.kbd”; Use a path to copy into the nix store (immutable, requires rebuild): configSource = ./kanata.kbd;
Type: null or absolute path or string
Default:
null
services.kanata.daemon.enable
Whether to enable headless kanata launchd service.
Type: boolean
Default:
false
Example:
true
services.kanata.daemon.extraLaunchdConfig
Extra launchd plist keys (e.g. KeepAlive, ThrottleInterval). Shallow-merged (nested keys are replaced, not deep-merged).
Type: attribute set of anything
Default:
{ }
services.kanata.kanata-bar.enable
Whether to enable kanata-bar GUI launcher.
Type: boolean
Default:
false
Example:
true
services.kanata.kanata-bar.package
The kanata-bar .app package.
Type: package
Default:
<derivation kanata-bar-app-1.1.10>
services.kanata.kanata-bar.autostart
Whether to create a launchd user agent that starts kanata-bar automatically at login. When false, you can start it manually from /Applications/Nix Apps/.
Type: boolean
Default:
true
services.kanata.kanata-bar.extraLaunchdConfig
Extra launchd plist keys (e.g. KeepAlive, ThrottleInterval). Shallow-merged (nested keys are replaced, not deep-merged).
Type: attribute set of anything
Default:
{ }
services.kanata.kanata-bar.icons
Map of kanata layer names to icon files (PNG recommended).
Use mkLayerIcons to generate icons from font glyphs.
Type: attribute set of absolute path
Default:
{ }
Example:
{ nav = ./icons/nav.png; }
services.kanata.kanata-bar.settings
Settings merged into kanata-bar config.toml. Auto-propagated defaults: kanata.{path,config,port,extra_args}, kanata_bar.{autostart_kanata,autorestart_kanata,pam_touchid}.
Type: TOML value
Default:
{ }
services.kanata.kanata-tray.enable
Whether to enable kanata-tray GUI launcher.
Type: boolean
Default:
false
Example:
true
services.kanata.kanata-tray.package
The kanata-tray package.
Type: package
Default:
<derivation kanata-tray>
services.kanata.kanata-tray.autostart
Whether to create a launchd user agent that starts kanata-tray automatically at login. When false, the .app bundle is still available in /Applications/Nix Apps/.
Type: boolean
Default:
true
services.kanata.kanata-tray.extraLaunchdConfig
Extra launchd plist keys (e.g. KeepAlive, ThrottleInterval). Shallow-merged (nested keys are replaced, not deep-merged).
Type: attribute set of anything
Default:
{ }
services.kanata.kanata-tray.icons
Map of kanata layer names to icon files (PNG recommended).
Use mkLayerIcons to generate icons from font glyphs.
Type: attribute set of absolute path
Default:
{ }
Example:
{ nav = ./icons/nav.png; }
services.kanata.kanata-tray.settings
Extra settings merged into kanata-tray.toml.
Type: TOML value
Default:
{ }
services.kanata.sudoers
Add NOPASSWD sudoers entry for kanata.
Defaults to true. Required for clean process termination in tray mode
and to avoid the fragile TCC sqlite3 hack in daemon mode.
Type: boolean
Default:
true
services.kanata.user
Username for sudoers, user agent, and file paths. Defaults to system.primaryUser.
Type: string
Default:
"user"