When using the nixCats lazy wrapper, how you provide Treesitter grammars depends on whether you install them via lazy.nvim or via Nix.
Option 1: Installing via lazy.nvim
If you manage grammars through lazy.nvim, you must ensure a C compiler is available by adding it to your lspsAndRuntimeDeps section within your categoryDefinitions.
Option 2: Installing via Nix
If you install grammars via Nix, the nixCats lazy wrapper supports any method that eventually calls pkgs.neovimUtils.grammarToPlugin. Supported patterns include:
- Using
withAllGrammars on the treesitter plugin. - Using
withPlugins with a specific list of plugins. - Using
allGrammars within withPlugins. - Accessing
grammarPlugins attributes. - Using
pkgs.neovimUtils.grammarToPlugin directly on a grammar.
pkgs.vimPlugins.nvim-treesitter.withAllGrammars
# or
pkgs.vimPlugins.nvim-treesitter.withPlugins (plugins: with plugins; [
nix
lua
# etc...
]);
# or
pkgs.vimPlugins.nvim-treesitter.withPlugins (plugins: pkgs.vimPlugins.nvim-treesitter.allGrammars)
# or
builtins.attrValues pkgs.vimPlugins.nvim-treesitter.grammarPlugins
# or
pkgs.neovimUtils.grammarToPlugin pkgs.tree-sitter-grammars.somegrammar