<defaultPackageName>.enable

Enable the <defaultPackageName> module

Type: boolean

Default: false

<defaultPackageName>.packageDefinitions.existing

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"

<defaultPackageName>.packageDefinitions.merge

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";
      };
    };
  }
''

<defaultPackageName>.packageDefinitions.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.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";
      };
    };
  }
''

<defaultPackageName>.packageNames

A list of packages from packageDefinitions to include

Type: list of string

Default: [ ]

Example:

''
  packageNames = [ "nixCats" ]
''

<defaultPackageName>.addOverlays

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; }; }) ]
''

<defaultPackageName>.categoryDefinitions.existing

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"

<defaultPackageName>.categoryDefinitions.merge

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: { }
''

<defaultPackageName>.categoryDefinitions.replace

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: { }
''

<defaultPackageName>.dontInstall

If true, do not output to packages list, output only to config.<defaultPackageName>.out

Type: boolean

Default: false

<defaultPackageName>.luaPath

The path to your nvim config directory in the store. In templates, this is “./.”

Type: string or path

Default: ""

Example: "./nvim"

<defaultPackageName>.nixpkgs_version

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
''

<defaultPackageName>.out.packages

Resulting customized neovim packages.

Type: attribute set of package (read only)

<defaultPackageName>.out.users

Resulting customized neovim packages for users.

Type: attribute set of (submodule) (read only)

<defaultPackageName>.out.users.<name>.packages

Resulting customized neovim packages for this user

Type: attribute set of package (read only)

<defaultPackageName>.users

same as system config but per user instead

Type: attribute set of (submodule)

Default: { }

<defaultPackageName>.users.<name>.enable

Enable the <defaultPackageName>.users module for a user

Type: boolean

Default: false

<defaultPackageName>.users.<name>.packageDefinitions.existing

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"

<defaultPackageName>.users.<name>.packageDefinitions.merge

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:

''
  nixCats.users.<USER>.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";
      };
    };
  }
''

<defaultPackageName>.users.<name>.packageDefinitions.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.mergeCatDefs)

Default: null

Example:

''
  nixCats.users.<USER>.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";
      };
    };
  }
''

<defaultPackageName>.users.<name>.packageNames

A list of packages from packageDefinitions to include

Type: list of string

Default: [ ]

Example:

''
  packageNames = [ "nixCats" ]
''

<defaultPackageName>.users.<name>.addOverlays

A list of overlays to make available to this user’s nixCats packages from this module but not to your system. Will have access to system overlays regardless of this setting. This per user version of addOverlays is merged with the value of <defaultPackageName>.addOverlays

Type: list of anything

Default: [ ]

Example:

''
  addOverlays = [ (self: super: { nvimPlugins = { pluginDerivationName = pluginDerivation; }; }) ]
''

<defaultPackageName>.users.<name>.categoryDefinitions.existing

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"

<defaultPackageName>.users.<name>.categoryDefinitions.merge

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:

''
  categoryDefinitions.merge = { pkgs, settings, categories, name, extra, mkNvimPlugin, ... }@packageDef: { }
''

<defaultPackageName>.users.<name>.categoryDefinitions.replace

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:

''
  categoryDefinitions.replace = { pkgs, settings, categories, name, extra, mkNvimPlugin, ... }@packageDef: { }
''

<defaultPackageName>.users.<name>.dontInstall

If true, do not output to packages list, output only to config.<defaultPackageName>.out.users

Type: boolean

Default: false

<defaultPackageName>.users.<name>.luaPath

The path to your nvim config directory in the store. In templates, this is “./.”

Type: string or path

Default: ""

Example: "./user_nvim"

<defaultPackageName>.users.<name>.nixpkgs_version

a different nixpkgs import to use for this users nvim. By default will use the one from <defaultPackageName>.nixpkgs_version, or flake, or system pkgs.

Type: null or anything

Default: null

Example:

''
  nixpkgs_version = inputs.nixpkgs
''

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

For NixOS, the default value for this option includes at least this argument:

Type: lazy attribute set of raw value

Declared by: - <nixpkgs/lib/modules.nix>