Enable the <defaultPackageName> module
Type: boolean
Default: false
the merge strategy to use for packageDefinitions inherited from the package this module was based on choose between “replace”, “merge” or “discard” replace uses utils.mergeCatDefs merge uses utils.deepmergeCats discard does not inherit see :help nixCats.flake.outputs.exports for more info on the merge strategy options
Type: one of “replace”, “merge”, “discard”
Default: "replace"
VERY IMPORTANT when setting aliases for each package, they must not be the same as ANY other neovim package for that user. It will cause a build conflict.
You can have as many nixCats installed per user as you want, as long as you obey that rule.
for information on the values you may return, see :help nixCats.flake.outputs.settings and :help nixCats.flake.outputs.categories
Type: null or (attribute set of function representing the settings and categories for a nvim package, where multiple declarations are combined using utils.deepmergeCats)
Default: null
Example:
''
packageDefinitions.merge = {
nixCats = { pkgs, ... }: {
settings = {
wrapRc = true;
configDirName = "nixCats-nvim";
# nvimSRC = inputs.neovim;
aliases = [ "vim" "nixCats" ];
};
categories = {
generalBuildInputs = true;
markdown = true;
gitPlugins = true;
general = true;
custom = true;
neonixdev = true;
debug = false;
test = true;
lspDebugMode = false;
themer = true;
colorscheme = "onedark";
};
};
}
''
VERY IMPORTANT when setting aliases for each package, they must not be the same as ANY other neovim package for that user. It will cause a build conflict.
You can have as many nixCats installed per user as you want, as long as you obey that rule.
for information on the values you may return, see :help nixCats.flake.outputs.settings and :help nixCats.flake.outputs.categories
Type: null or (attribute set of function representing the settings and categories for a nvim package, where multiple declarations are combined using utils.mergeCatDefs)
Default: null
Example:
''
packageDefinitions.replace = {
nixCats = { pkgs, ... }: {
settings = {
wrapRc = true;
configDirName = "nixCats-nvim";
# nvimSRC = inputs.neovim;
aliases = [ "vim" "nixCats" ];
};
categories = {
generalBuildInputs = true;
markdown = true;
gitPlugins = true;
general = true;
custom = true;
neonixdev = true;
debug = false;
test = true;
lspDebugMode = false;
themer = true;
colorscheme = "onedark";
};
};
}
''
A list of packages from packageDefinitions to include
Type: list of string
Default: [ ]
Example:
''
packageNames = [ "nixCats" ]
''
A list of overlays to make available to any nixCats package from this module but not to your system. Will have access to system overlays regardless of this setting.
Type: list of anything
Default: [ ]
Example:
''
addOverlays = [ (self: super: { nvimPlugins = { pluginDerivationName = pluginDerivation; }; }) ]
''
the merge strategy to use for categoryDefinitions inherited from the package this module was based on choose between “replace”, “merge” or “discard” replace uses utils.mergeCatDefs merge uses utils.deepmergeCats discard does not inherit see :help nixCats.flake.outputs.exports for more info on the merge strategy options
Type: one of “replace”, “merge”, “discard”
Default: "replace"
see :help nixCats.flake.outputs.categories uses utils.deepmergeCats to recursively update and merge category lists if duplicates are defined see :help nixCats.flake.outputs.exports for more info on the merge strategy options
Type: null or function returning sets of categories of different types of dependency, where multiple declarations are combined using utils.deepmergeCats
Default: null
Example:
''
# see :help nixCats.flake.outputs.categories
categoryDefinitions.merge = { pkgs, settings, categories, name, ... }@packageDef: { }
''
see :help nixCats.flake.outputs.categories uses utils.mergeCatDefs to recursively update old categories with new values see :help nixCats.flake.outputs.exports for more info on the merge strategy options
Type: null or function returning sets of categories of different types of dependency, where multiple declarations are combined using utils.mergeCatDefs
Default: null
Example:
''
# see :help nixCats.flake.outputs.categories
categoryDefinitions.replace = { pkgs, settings, categories, name, ... }@packageDef: { }
''
If true, do not output to packages list, output only to config.<defaultPackageName>.out
Type: boolean
Default: false
The path to your nvim config directory in the store. In templates, this is “./.”
Type: string or path
Default: ""
Example: "./nvim"
a different nixpkgs import to use. By default will use the one from the flake, or system pkgs.
Type: null or anything
Default: null
Example:
''
nixpkgs_version = inputs.nixpkgs
''
Resulting customized neovim packages.
Type: attribute set of package (read only)
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>