{ pkgs, ... }: { programs.nixvim = { plugins = { treesitter-refactor = { enable = true; highlightCurrentScope.enable = false; highlightDefinitions.enable = true; navigation = { enable = true; keymaps = { gotoDefinition = null; gotoDefinitionLspFallback = "gnd"; gotoNextUsage = ""; gotoPreviousUsage = ""; listDefinitions = "gnD"; listDefinitionsToc = "gO"; }; }; smartRename = { enable = true; keymaps.smartRename = "grr"; }; }; treesitter-context = { enable = true; }; treesitter = { enable = true; settings = { indent.enable = true; incremental_selection = { enable = true; keymaps = { init_selection = "gnn"; node_incremental = "grn"; scope_incremental = "grc"; node_decremental = "grm"; }; }; highlight = { enable = true; }; }; grammarPackages = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [ bash c cpp c_sharp css dockerfile go graphql html javascript json jsonc lua python regex ruby rust svelte toml typescript yaml ]; }; }; }; }