This section lists the release notes for tagged version of neovim-flake and current main.
This is the current master branch and information here is not final. These are changes from the v0.01 tag.
Special thanks to home-manager for this release. Docs/manual generation, the new module evaluation system, and DAG implementation are from them.
vim.lsp.hare is no longer defined. If you use hare and would like it added back, please file an issue.
vim.startPlugins & vim.optPlugins are now an enum of string for options sourced from the flake inputs. Users can still provide vim plugin packages.
If you are contributing and adding a new plugin, add the plugin name to availablePlugins in types-plugin.nix.
neovimBuilder has been removed for configuration. Using an overlay is no longer required. See the manual for the new way to configuration.
vim.treesitter.grammars. Utilizes the nixpkgs nvim-treesitter plugin rather than a custom input in order to take advantage of build support of pinned versions. See discourse for more information. Packages can be found under the pkgs.vimPlugins.nvim-treesitter.builtGrammars attribute. Treesitter grammars for supported languages should be enabled within the module. By default no grammars are installed, thus the following grammars which do not have a language section are not included anymore: comment, toml, make, css, graphql, json.
nvim-treesitter which fixes query errors.
vim.configRC and vim.luaConfigRC are now of type DAG lines. This allows for ordering of the config. Usage is the same is in home-manager’s home.activation option.
vim.luaConfigRC = lib.nvim.dag.entryAnywhere "config here"
build.package. There is no more .neovim attribute from the configuration function, the output is the package itself. See the manual for accessing the meta attributes.
build.rawPlugins. They can be accessed in vim.startPlugins & vim.optPlugins
config.build attribute: build.viAlias & build.vimAlias
built.package
A new section has been added for language support: vim.languages.<language>. The options vim.languages.enableLSP, vim.languages.enableTreesitter, etc. will enable the respective section for all languages that have been enabled.
plantuml and markdown have been moved here
html. The old vim.treesitter.autotagHtml can be found at vim.languages.html.treesitter.autotagHtml.
vim.git.gitsigns.codeActions has been added allowing you to turn on gitsigns codeactions.
vim.visual.lspkind has been moved to vim.lsp.lspkind.enable
vim.autocomplete.sources, can also include optional menu mapping. And can provide your own function with vim.autocomplete.formatting.format.
vim.visuals.indentBlankline.fillChar and vim.visuals.indentBlankline.eolChar turning them off should use null rather than "" now.
openOnStartup option from nvim-tree-lua
statix and deadnix through vim.languages.nix.extraDiagnostics.types
plugin- to allow autodiscovery of them
vim.languages.bash.enable, includes bash-language-server lsp, shellcheck diagnostics, and shfmt formatting
nvim-dap debugger support under vim.debugger.enable
nvim-dap-ui under vim.debugger.ui.enable
nvim-dap-virtual-text under vim.debugger.virtualText.enable
vim.languages.rust.debugger.enable
telescope-file-browser under vim.telescope.fileBrowser.enable
telescope-live-grep-args under vim.telescope.liveGrepArgs.enable
nixpkgs-fmt for formatting
null will result in neovim calling the command as if it is in your $PATH
catppuccin theme is now available as a neovim theme vim.theme.style and lualine theme vim.statusline.lualine.theme.
vim.languages.plantuml.plantumlPackage and vim.languages.plantuml.javaPackage can be used to configure which version of the corresponding packages are used.
vim.chatgpt.config should be used to configure a command to get an api key. See https://github.com/jackMort/ChatGPT.nvim#configuration for details.