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.
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
vim.extraPlugins
vim.spellChecking.languages
, and added vim-dirtytalk vim.spellChecking.enableProgrammingWordList
vim.visuals.cursorWordline
to vim.visuals.cursorline.enable
.
vim.visuals.cursorline.lineNumbersOnly
to display cursorline only in the presence of line numbers.
vim.ui.borders.enable
for global and individual plugin border configuration.
vim.ui.breadcrumbs.enable
through nvim-navic
statix
and deadnix
through vim.languages.nix.extraDiagnostics.types
vim.package
. For best results, always use an unwrapped package.
useSystemClipboard
by default