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 vimPlugins.nvim-treesitter.builtGrammars namespace.
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"
catppuccin theme is now available as a neovim theme vim.theme.style and lualine theme vim.statusline.lualine.theme.
Release notes for release 0.2
vim.minimap. codewindow.nvim is enabled by default, while minimap.vim is available with its code-minimap dependency.
orgmode.nvim have been added. Both will be disabled by default.
cinnamon.nvim
alpha.nvim plugin. You can use any of the three available dashboard plugins, or disable them entirely.
vim.visuals if seen necessary.
presence.nvim for those who want to flex that they are using the superior text editor.
:IconPickerInsert or :IconPickerYank to add icons to your code.
cheatsheet.nvim. Forget no longer!
ccc.nvim has been added to the default plugins to allow picking colors with ease.
noice.nvim. There are also notifications and custom UI elements available for Neovim messages and prompts.
toggleterm.nvim.
tabnine.nvim) and not-so-ethical (copilot.lua) AI by those new assistant plugins. Both are off by default, TabNine needs to be wrapped before it’s working.
gesture.nvim. See plugin page and the relevant module for more details on how to use.
nvim-session-manager. Disabled by default as deleting buffers seems to be problematic at the moment.
Release 0.3 had to come out beore I wanted it to due to Neovim 0.9 dropping into nixpkgs-unstable. The treesitter changes have prompted a treesitter rework, which was followed by reworking the languages system. Most of the changes to those are downstreamed from the original repository. The feature requests that was originally planned for 0.3 have been moved to 0.4, which should come out soon.
nodejs_16 is now bundled with Copilot.lua if the user has enabled Copilot assistant.
+prefix
presence.nvim's options have been made fully configurable through your configuration file.
config and options attributes.
Fidget.nvim has been added as a neat visual addition for LSP installations.
diffview.nvim has been added to provide a convenient diff utility.
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, html, css, graphql, json.
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.
vim.theme.transparent option can be used to enable or
disable transparency for your configuration.
elixir-tools.nvim.
hop.nvim and leap.nvim have been added for fast navigation.
modes.nvim has been added to the UI plugins as a minor error highlighter.
smartcollumn.nvim has been added to dynamically display a colorcolumn when the limit has been exceeded, providing
per-buftype column position and more.
project.nvim has been added for better project management inside Neovim.
nvim-session-manager.
venn-nvim has been dropped due to broken keybinds.
Following the release of v0.3, I have decided to release v0.4 with a massive new change: customizable keybinds. As of the 0.4 release, keybinds will no longer be hardcoded and instead provided by each module’s own keybinds section. The old keybind system (vim.keybinds = {}) is now considered deprecated and the new lib functions are recommended to be used for adding keybinds for new plugins, or adding keybinds to existing plugins.
Alongside customizable keybinds, there are a few quality of life updates, such as lazygit integration and the new experimental Lua loader of Neovim 0.9 thanks to our awesome contributors who made this update possible during my absence.
clangd as alternative lsp for C/++.
toggleterm integration for lazygit.
enableluaLoader to enable neovim’s experimental module loader for faster startup time.
dart LSP
vim.cursorlineOpt for configuring Neovim’s cursorlineOpt.
vim.filetree.nvimTreeLua.view.cursorline, default false, to enable cursorline in nvimtre.
Copilot.lua. v16 is now marked as insecure on Nixpkgs, and we updated to v18
vim.languages.
vim.utility.colorizer has been renamed to vim.utility.ccc after the plugin it uses
nvim-colorizer.lua