Appendix B. Release Notes

B.1. Release 0.1
B.1.1. Changelog

This section lists the release notes for tagged version of neovim-flake and current main.

B.1. Release 0.1

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.

B.1.1. Changelog

jordanisaacs:

  • Removed hare language support (lsp/tree-sitter/etc). 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.
  • Treesitter grammars are now configurable with 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.
  • Neovim’s bundled treesitter parsers are overriden when using 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"
  • Builds are done within the module evaluation. You can override the neovim package used by setting 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.
  • You can now add your own custom inputs as plugins. See build.rawPlugins. They can be accessed in vim.startPlugins & vim.optPlugins
  • Setting aliases has been moved to the config.build attribute: build.viAlias & build.vimAlias
  • Internally, now using the modern makeNeovimConfig and wrapNeovimUnstable for building the final package, 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.

    • All LSP languages have been moved here
    • plantuml and markdown have been moved here
    • A new section has been added for 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.
  • Removed the plugins document in the docs. Was too unwieldy to keep updated.
  • vim.visual.lspkind has been moved to vim.lsp.lspkind.enable
  • Improved handling of completion formatting. When setting vim.autocomplete.sources, can also include optional menu mapping. And can provide your own function with vim.autocomplete.formatting.format.
  • For vim.visuals.indentBlankline.fillChar and vim.visuals.indentBlankline.eolChar turning them off should use null rather than "" now.
  • Add support for extending configurations. See docs for more details.
  • Removed the deprecated openOnStartup option from nvim-tree-lua
  • Added support for statix and deadnix through vim.languages.nix.extraDiagnostics.types
  • Plugin inputs are now prefixed with plugin- to allow autodiscovery of them
  • Added bash language support at vim.languages.bash.enable, includes bash-language-server lsp, shellcheck diagnostics, and shfmt formatting
  • Added nvim-dap debugger support under vim.debugger.enable
  • UI using nvim-dap-ui under vim.debugger.ui.enable
  • Virtual text using nvim-dap-virtual-text under vim.debugger.virtualText.enable
  • Support for rust-tools debugger support under vim.languages.rust.debugger.enable
  • Add telescope-file-browser under vim.telescope.fileBrowser.enable
  • Add telescope-live-grep-args under vim.telescope.liveGrepArgs.enable
  • Internally switched to using nixpkgs-fmt for formatting
  • Setting a language server or format package to null will result in neovim calling the command as if it is in your $PATH

MoritzBoehme:

antotocar34:

  • Refactored supported theme definitions into a module. This allows any downstream users to define their own themes.

wanderer:

MonaMayrhofer:

volfyd:

sedlund:

mraethel: