NVF

NVF Options

_module.args Link copied!

Type: lazy attribute set of raw value

Additional arguments passed to each module in addition to ones like lib, config, and pkgs, modulesPath.

This option is also available to all submodules. Submodules do not inherit args from their parent module, nor do they provide args to their parent module or sibling submodules. The sole exception to this is the argument name which is provided by parent modules to a submodule and contains the attribute name the submodule is bound to, or a unique generated name if it is not bound to an attribute.

Some arguments are already passed by default, of which the following cannot be changed with this option:

  • lib: The nixpkgs library.

  • config: The results of all options after merging the values from all modules together.

  • options: The options declared in all modules.

  • specialArgs: The specialArgs argument passed to evalModules.

  • All attributes of specialArgs

    Whereas option values can generally depend on other option values thanks to laziness, this does not apply to imports, which must be computed statically before anything else.

    For this reason, callers of the module system can provide specialArgs which are available during import resolution.

    For NixOS, specialArgs includes modulesPath, which allows you to import extra modules from the nixpkgs package tree without having to somehow make the module aware of the location of the nixpkgs or NixOS directories.

    { modulesPath, ... }: {
      imports = [
        (modulesPath + "/profiles/minimal.nix")
      ];
    }
    

For NixOS, the default value for this option includes at least this argument:

  • pkgs: The nixpkgs package set according to the nixpkgs.pkgs option.
Default: { }

vim.additionalRuntimePaths Link copied!

Type: list of (absolute path or string)

Additional runtime paths that will be appended to the active runtimepath of the Neovim. This can be used to add additional lookup paths for configs, plugins, spell languages and other things you would generally place in your $HOME/.config/nvim.

This is meant as a declarative alternative to throwing files into ~/.config/nvim and having the Neovim wrapper pick them up.

For more details on vim.o.runtimepath, and what paths to use, please see the official documentation.

Default: [ ]
Example:
[
  # Absolute path, as a string. This is the impure option.
  "$HOME/.config/nvim-extra"

  # Relative path inside your configuration. If your config
  # is version controlled, then this is pure and reproducible.
  ./nvim

  # Source type path. This pure and reproducible.
  # See `:doc builtins.path` inside a Nix repl for more options.
  (builtins.path {
    path = ./runtime; # this must be a relative path
    name = "nvim-runtime"; # name is arbitrary
  })
]

vim.assistant.avante-nvim.enable Link copied!

Type: boolean

Whether to enable complementary Neovim plugin for avante.nvim.

Default: false
Example: true

vim.assistant.avante-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of avante-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.assistant.chatgpt.enable Link copied!

Type: boolean

Whether to enable ChatGPT AI assistant. Requires the environment variable OPENAI_API_KEY to be set.

Default: false
Example: true

vim.assistant.chatgpt.mappings.addTests Link copied!

Type: null or string

[ChatGPT] Add tests

Default: "<leader>aa"

vim.assistant.chatgpt.mappings.chatGpt Link copied!

Type: null or string

ChatGPT

Default: "<leader>ac"

vim.assistant.chatgpt.mappings.docstring Link copied!

Type: null or string

[ChatGPT] Docstring

Default: "<leader>ad"

vim.assistant.chatgpt.mappings.editWithInstructions Link copied!

Type: null or string

[ChatGPT] Edit with instructions

Default: "<leader>ae"

vim.assistant.chatgpt.mappings.explain Link copied!

Type: null or string

[ChatGPT] Explain code

Default: "<leader>ax"

vim.assistant.chatgpt.mappings.fixBugs Link copied!

Type: null or string

[ChatGPT] Fix bugs

Default: "<leader>af"

vim.assistant.chatgpt.mappings.grammarCorrection Link copied!

Type: null or string

[ChatGPT] Grammar correction

Default: "<leader>ag"

vim.assistant.chatgpt.mappings.keyword Link copied!

Type: null or string

[ChatGPT] Keywords

Default: "<leader>ak"

vim.assistant.chatgpt.mappings.optimize Link copied!

Type: null or string

[ChatGPT] Optimize code

Default: "<leader>ao"

vim.assistant.chatgpt.mappings.readabilityanalysis Link copied!

Type: null or string

[ChatGPT] Code reability analysis

Default: "<leader>al"

vim.assistant.chatgpt.mappings.roxygenEdit Link copied!

Type: null or string

[ChatGPT] Roxygen edit

Default: "<leader>ar"

vim.assistant.chatgpt.mappings.summarize Link copied!

Type: null or string

[ChatGPT] Summarize

Default: "<leader>as"

vim.assistant.chatgpt.mappings.translate Link copied!

Type: null or string

[ChatGPT] Translate

Default: "<leader>at"

vim.assistant.chatgpt.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of chatgpt.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.assistant.codecompanion-nvim.enable Link copied!

Type: boolean

Whether to enable complementary neovim plugin for codecompanion.nvim.

Default: false
Example: true

vim.assistant.codecompanion-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of codecompanion-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.assistant.copilot.cmp.enable Link copied!

Type: boolean

Whether to enable nvim-cmp integration for GitHub Copilot.

Default: false
Example: true

vim.assistant.copilot.enable Link copied!

Type: boolean

Whether to enable GitHub Copilot AI assistant.

Default: false
Example: true

vim.assistant.copilot.mappings.panel.accept Link copied!

Type: null or string

Accept suggestion

Default: "<CR>"

vim.assistant.copilot.mappings.panel.jumpNext Link copied!

Type: null or string

Jump to next suggestion

Default: "]]"

vim.assistant.copilot.mappings.panel.jumpPrev Link copied!

Type: null or string

Jump to previous suggestion

Default: "[["

vim.assistant.copilot.mappings.panel.open Link copied!

Type: null or string

Open suggestions

Default: "<M-CR>"

vim.assistant.copilot.mappings.panel.refresh Link copied!

Type: null or string

Refresh suggestions

Default: "gr"

vim.assistant.copilot.mappings.suggestion.accept Link copied!

Type: null or string

Accept suggestion

Default: "<M-l>"

vim.assistant.copilot.mappings.suggestion.acceptLine Link copied!

Type: null or string

Accept next line

Default: null

vim.assistant.copilot.mappings.suggestion.acceptWord Link copied!

Type: null or string

Accept next word

Default: null

vim.assistant.copilot.mappings.suggestion.dismiss Link copied!

Type: null or string

Dismiss suggestion

Default: "<C-]>"

vim.assistant.copilot.mappings.suggestion.next Link copied!

Type: null or string

Next suggestion

Default: "<M-]>"

vim.assistant.copilot.mappings.suggestion.prev Link copied!

Type: null or string

Previous suggestion

Default: "<M-[>"

vim.assistant.copilot.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of Copilot.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.assistant.neocodeium.enable Link copied!

Type: boolean

Whether to enable NeoCodeium AI completion.

Default: false
Example: true

vim.assistant.neocodeium.keymaps.accept Link copied!

Type: null or string

Accept suggestion

Default: "<A-f>"

vim.assistant.neocodeium.keymaps.accept_line Link copied!

Type: null or string

Accept line

Default: "<A-a>"

vim.assistant.neocodeium.keymaps.accept_word Link copied!

Type: null or string

Accept word

Default: "<A-w>"

vim.assistant.neocodeium.keymaps.clear Link copied!

Type: null or string

Clear suggestion

Default: "<A-c>"

vim.assistant.neocodeium.keymaps.cycle_or_complete Link copied!

Type: null or string

Cycle or complete

Default: "<A-e>"

vim.assistant.neocodeium.keymaps.cycle_or_complete_reverse Link copied!

Type: null or string

Cycle or complete (reverse)

Default: "<A-r>"

vim.assistant.neocodeium.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of NeoCodeium.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.assistant.supermaven-nvim.enable Link copied!

Type: boolean

Whether to enable Supermaven AI assistant.

Default: false
Example: true

vim.assistant.supermaven-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of Supermaven.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.augroups Link copied!

Type: list of (submodule)

A list of Neovim autogroups, which are used to organize and manage related autocommands together. Groups allow multiple autocommands to be cleared or redefined collectively, preventing duplicate definitions.

Each autogroup consists of a name and a boolean indicating whether to clear existing autocommands.

Default: [ ]

vim.augroups.*.clear Link copied!

Type: boolean

Whether to clear existing autocommands in this group before defining new ones. This helps avoid duplicate autocommands.

Default: true

vim.augroups.*.enable Link copied!

Type: boolean

Whether to enable this autocommand group.

Default: true
Example: true

vim.augroups.*.name Link copied!

Type: string

The name of the autocommand group.

Example: "MyAutoCmdGroup"

vim.autocmds Link copied!

Type: list of (submodule)

A list of Neovim autocommands to be registered.

Each entry defines an autocommand, specifying events, patterns, a callback or Vim command, an optional group, a description, and execution settings.

Default: [ ]

vim.autocmds.*.callback Link copied!

Type: null or (luaInline)

Lua function to be called when the event(s) are triggered.

Default: null
Example:
lib.generators.mkLuaInline ''
  function()
      print("Saving a Lua file...")
  end
'''

vim.autocmds.*.command Link copied!

Type: null or string

Vim command to be executed when the event(s) are triggered. Cannot be defined if the callback option is already defined.

Default: null

vim.autocmds.*.desc Link copied!

Type: null or string

A description for the autocommand.

Default: null
Example: "Notify when saving a Lua file"

vim.autocmds.*.enable Link copied!

Type: boolean

Whether to enable this autocommand.

Default: true
Example: true

vim.autocmds.*.event Link copied!

Type: null or (list of string)

The event(s) that trigger the autocommand.

Default: null
Example:
[
  "BufRead"
  "BufWritePre"
]

vim.autocmds.*.group Link copied!

Type: null or string

An optional autocommand group to manage related autocommands.

Default: null
Example: "MyAutoCmdGroup"

vim.autocmds.*.nested Link copied!

Type: boolean

Whether to allow nested autocommands to trigger.

Default: false

vim.autocmds.*.once Link copied!

Type: boolean

Whether to run the autocommand only once.

Default: false

vim.autocmds.*.pattern Link copied!

Type: null or (list of string)

The file pattern(s) that determine when the autocommand applies.

Default: null
Example:
[
  "*.lua"
  "*.vim"
]

vim.autocomplete.enableSharedCmpSources Link copied!

Type: boolean

Whether to enable sources shared by blink.cmp and nvim-cmp.

Default: false
Example: true

vim.autocomplete.nvim-cmp.enable Link copied!

Type: boolean

Whether to enable nvim-cmp.

Default: false
Example: true

vim.autocomplete.nvim-cmp.format Link copied!

Type: null or (luaInline)

The function used to customize the completion menu entries. This is outside of setupOpts to allow for an easier integration with lspkind.nvim.

See :help cmp-config.formatting.format.

Default: ```lua function(entry, vim_item) vim_item.menu = (${toLuaObject config.vim.autocomplete.nvim-cmp.sources})[entry.source.name] return vim_item end ```

vim.autocomplete.nvim-cmp.mappings.close Link copied!

Type: null or string

Close [nvim-cmp]

Default: "<C-e>"

vim.autocomplete.nvim-cmp.mappings.complete Link copied!

Type: null or string

Complete [nvim-cmp]

Default: "<C-Space>"

vim.autocomplete.nvim-cmp.mappings.confirm Link copied!

Type: null or string

Confirm [nvim-cmp]

Default: "<CR>"

vim.autocomplete.nvim-cmp.mappings.next Link copied!

Type: null or string

Next item [nvim-cmp]

Default: "<Tab>"

vim.autocomplete.nvim-cmp.mappings.previous Link copied!

Type: null or string

Previous item [nvim-cmp]

Default: "<S-Tab>"

vim.autocomplete.nvim-cmp.mappings.scrollDocsDown Link copied!

Type: null or string

Scroll docs down [nvim-cmp]

Default: "<C-f>"

vim.autocomplete.nvim-cmp.mappings.scrollDocsUp Link copied!

Type: null or string

Scroll docs up [nvim-cmp]

Default: "<C-d>"

vim.autocomplete.nvim-cmp.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of the autocomplete plugin.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.autocomplete.nvim-cmp.sourcePlugins Link copied!

Type: list of (null or package or one of "blink-cmp", "aerial-nvim", "alpha-nvim", "avante-nvim", "base16", "blink-cmp-spell", "blink-compat", "blink-emoji-nvim", "blink-indent", "blink-ripgrep-nvim", "bufdelete-nvim", "bufferline-nvim", "catppuccin", "ccc-nvim", "cellular-automaton-nvim", "chatgpt-nvim", "cheatsheet-nvim", "cinnamon-nvim", "cmp-buffer", "cmp-luasnip", "cmp-nvim-lsp", "cmp-path", "cmp-treesitter", "codecompanion-nvim", "codewindow-nvim", "colorful-menu-nvim", "comment-nvim", "conform-nvim", "copilot-cmp", "copilot-lua", "crates-nvim", "crazy-coverage", "csharpls-extended-lsp-nvim", "csvview-nvim", "dashboard-nvim", "diffview-nvim", "direnv-vim", "dracula", "dressing-nvim", "elixir-tools-nvim", "everforest", "fastaction-nvim", "fidget-nvim", "flash-nvim", "fluent-nvim", "flutter-tools-nvim", "friendly-snippets", "fzf-lua", "gesture-nvim", "git-conflict-nvim", "github", "gitlinker-nvim", "gitsigns-nvim", "glow-nvim", "gopher-nvim", "gradle-nvim", "gruber-darker", "grug-far-nvim", "gruvbox", "hardtime-nvim", "harpoon", "haskell-tools-nvim", "highlight-undo-nvim", "hlargs-nvim", "hop.nvim", "hunk-nvim", "hydra-nvim", "icon-picker-nvim", "image-nvim", "img-clip", "indent-blankline-nvim", "lazydev-nvim", "leap-nvim", "leetcode-nvim", "lsp-signature-nvim", "lspkind-nvim", "lspsaga-nvim", "lua-utils-nvim", "lualine-nvim", "luasnip", "lz-n", "lzn-auto-require", "markview-nvim", "maven-nvim", "mellow", "mini-ai", "mini-align", "mini-animate", "mini-base16", "mini-basics", "mini-bracketed", "mini-bufremove", "mini-clue", "mini-colors", "mini-comment", "mini-completion", "mini-cursorword", "mini-diff", "mini-doc", "mini-extra", "mini-files", "mini-fuzzy", "mini-git", "mini-hipatterns", "mini-hues", "mini-icons", "mini-indentscope", "mini-jump", "mini-jump2d", "mini-map", "mini-misc", "mini-move", "mini-notify", "mini-operators", "mini-pairs", "mini-pick", "mini-sessions", "mini-snippets", "mini-splitjoin", "mini-starter", "mini-statusline", "mini-surround", "mini-tabline", "mini-test", "mini-trailspace", "mini-visits", "minimap-vim", "mkdir-nvim", "modes-nvim", "multicursors-nvim", "neo-tree-nvim", "neocodeium", "neocord", "neogit", "neorg", "neorg-telescope", "neovim-session-manager", "new-file-template-nvim", "nix-develop-nvim", "noice-nvim", "none-ls-nvim", "nord", "nui-nvim", "nvim-autopairs", "nvim-biscuits", "nvim-cmp", "nvim-colorizer-lua", "nvim-cursorline", "nvim-dap", "nvim-dap-go", "nvim-dap-odin", "nvim-dap-ui", "nvim-docs-view", "nvim-highlight-colors", "nvim-lightbulb", "nvim-lint", "nvim-lspconfig", "nvim-metals", "nvim-navbuddy", "nvim-navic", "nvim-neoclip-lua", "nvim-nio", "nvim-notify", "nvim-scrollbar", "nvim-surround", "nvim-tree-lua", "nvim-treesitter-context", "nvim-treesitter-textobjects", "nvim-ts-autotag", "nvim-ufo", "nvim-web-devicons", "obsidian-nvim", "oil-git-status.nvim", "oil-nvim", "omnisharp-extended-lsp-nvim", "onedark", "orgmode", "otter-nvim", "oxocarbon", "pathlib-nvim", "plenary-nvim", "precognition-nvim", "prettier-plugin-astro", "prettier-plugin-pug", "prettier-plugin-svelte", "project-nvim", "promise-async", "qmk-nvim", "rainbow-delimiters-nvim", "registers-nvim", "render-markdown-nvim", "rose-pine", "roslyn-nvim", "rtp-nvim", "run-nvim", "rustaceanvim", "smart-splits", "smartcolumn-nvim", "snacks-nvim", "solarized", "solarized-osaka", "sqls-nvim", "supermaven-nvim", "syntax-gaslighting", "tabular", "telescope", "tiny-devicons-auto-colors-nvim", "todo-comments-nvim", "toggleterm-nvim", "tokyonight", "trouble", "ts-error-translator-nvim", "typst-concealer", "typst-preview-nvim", "undotree", "vim-dirtytalk", "vim-fugitive", "vim-illuminate", "vim-markdown", "vim-repeat", "vim-sleuth", "vim-startify", "vim-wakatime", "which-key-nvim", "yanky-nvim", "nvim-treesitter", "flutter-tools-patched", "vim-repeat")

List of source plugins used by nvim-cmp.

Default: [ ]

vim.autocomplete.nvim-cmp.sources Link copied!

Type: attribute set of (null or string)

The list of sources used by nvim-cmp

Default: { buffer = "[Buffer]"; nvim-cmp = null; path = "[Path]"; }
Example:
{
  buffer = "[Buffer]";
  nvim-cmp = null;
}

vim.autopairs.nvim-autopairs.enable Link copied!

Type: boolean

Whether to enable autopairs.

Default: false
Example: true

vim.autopairs.nvim-autopairs.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of nvim-autopairs.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.bell Link copied!

Type: one of "none", "visual", "on"

Set how bells are handled. Options: on, visual or none

Default: "none"

vim.binds.cheatsheet.enable Link copied!

Type: boolean

Whether to enable cheatsheet-nvim: searchable cheatsheet for nvim using telescope.

Default: false
Example: true

vim.binds.hardtime-nvim.enable Link copied!

Type: boolean

Whether to enable hardtime helper for no repeat keybinds.

Default: false
Example: true

vim.binds.hardtime-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of hardtime-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.binds.whichKey.enable Link copied!

Type: boolean

Whether to enable which-key keybind helper menu.

Default: false
Example: true

vim.binds.whichKey.register Link copied!

Type: attribute set of (null or string)

Register label for which-key keybind helper menu

Default: { }

vim.binds.whichKey.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of which-key.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.build.finalPackage Link copied!

Type: package

final output package

vim.clipboard.enable Link copied!

Type: boolean

Whether to enable clipboard management for Neovim. Users may still choose to manage their clipboard through vim.options should they wish to avoid using this module. .

Default: false
Example: true

vim.clipboard.providers Link copied!

Type: submodule

Clipboard providers for which packages will be added to nvf's extraPackages. The package field may be set to null if related packages are already found in system packages to potentially reduce closure sizes.

Default: { }

vim.clipboard.providers.wl-copy.enable Link copied!

Type: boolean

Whether to enable wl-copy.

Default: false
Example: true

vim.clipboard.providers.wl-copy.package Link copied!

Type: null or package

The wl-clipboard package to use.

Default: pkgs.wl-clipboard

vim.clipboard.providers.xclip.enable Link copied!

Type: boolean

Whether to enable xclip.

Default: false
Example: true

vim.clipboard.providers.xclip.package Link copied!

Type: null or package

The xclip package to use.

Default: pkgs.xclip

vim.clipboard.providers.xsel.enable Link copied!

Type: boolean

Whether to enable xsel.

Default: false
Example: true

vim.clipboard.providers.xsel.package Link copied!

Type: null or package

The xsel package to use.

Default: pkgs.xsel

vim.clipboard.registers Link copied!

Type: one of "", "unnamedplus", "unnamed", "unnamed,unnamedplus"

The register to be used by the Neovim clipboard. Recognized types are:

  • unnamed: Vim will use the clipboard register "*" for all yank, delete, change and put operations which would normally go to the unnamed register.

  • unnamedplus: A variant of the "unnamed" flag which uses the clipboard register "+" (:h quoteplus) instead of register "*" for all yank, delete, change and put operations which would normally go to the unnamed register.

When unnamed and unnamedplus is included simultaneously as "unnamed,unnamedplus", yank and delete operations (but not put) will additionally copy the text into register "*".

Please see :h clipboard for more details.

Default: ""
Example: "unnamedplus"

vim.comments.comment-nvim.enable Link copied!

Type: boolean

Whether to enable smart and powerful comment plugin for neovim comment-nvim.

Default: false
Example: true

vim.comments.comment-nvim.mappings.toggleCurrentBlock Link copied!

Type: null or string

Toggle current block comment

Default: "gbc"

vim.comments.comment-nvim.mappings.toggleCurrentLine Link copied!

Type: null or string

Toggle current line comment

Default: "gcc"

vim.comments.comment-nvim.mappings.toggleOpLeaderBlock Link copied!

Type: null or string

Toggle block comment

Default: "gb"

vim.comments.comment-nvim.mappings.toggleOpLeaderLine Link copied!

Type: null or string

Toggle line comment

Default: "gc"

vim.comments.comment-nvim.mappings.toggleSelectedBlock Link copied!

Type: null or string

Toggle selected block

Default: "gb"

vim.comments.comment-nvim.mappings.toggleSelectedLine Link copied!

Type: null or string

Toggle selected comment

Default: "gc"

vim.comments.comment-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of Comment-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.dashboard.alpha.enable Link copied!

Type: boolean

Whether to enable fast and fully programmable greeter for neovim [alpha.nvim].

Default: false
Example: true

vim.dashboard.alpha.layout Link copied!

Type: list of attribute set of anything

Alpha dashboard layout

Default: [ ]

vim.dashboard.alpha.opts Link copied!

Type: attribute set of anything

Optional global options

Default: { }

vim.dashboard.alpha.theme Link copied!

Type: null or one of "dashboard", "startify", "theta"

Alpha default theme to use

Default: "dashboard"

vim.dashboard.dashboard-nvim.enable Link copied!

Type: boolean

Whether to enable Fancy and Blazing Fast start screen plugin of neovim [dashboard.nvim].

Default: false
Example: true

vim.dashboard.dashboard-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of dashboard.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.dashboard.startify.bookmarks Link copied!

Type: list of (attribute set)

List of book marks to display on start page

Default: [ ]
Example:
{
  c = "~/.vimrc";
}

vim.dashboard.startify.changeDirCmd Link copied!

Type: one of "cd", "lcd", "tcd"

Command to change the current window with.

Default: "lcd"

vim.dashboard.startify.changeToDir Link copied!

Type: boolean

Whether Vim should change to the directory of the file you open

Default: true

vim.dashboard.startify.changeToVCRoot Link copied!

Type: boolean

Whether Vim should change to the version control root when opening a file

Default: false

vim.dashboard.startify.commands Link copied!

Type: list of (string or (attribute set) or list of string)

Commands that are presented to the user on startify page

Default: [ ]

vim.dashboard.startify.customFooter Link copied!

Type: list of string

Text to place in the footer

Default: [ ]

vim.dashboard.startify.customHeader Link copied!

Type: list of string

Text to place in the header

Default: [ ]

vim.dashboard.startify.customIndices Link copied!

Type: list of string

Specify a list of default characters to use instead of numbers

Default: [ ]

vim.dashboard.startify.disableOnStartup Link copied!

Type: boolean

Whether vim-startify should be disabled on startup.

This will prevent startify from opening on startup, but it can still be called with :Startify

Default: false

vim.dashboard.startify.enable Link copied!

Type: boolean

Whether to enable fancy start screen for Vim [vim-startify].

Default: false
Example: true

vim.dashboard.startify.filesNumber Link copied!

Type: signed integer

How many files to list

Default: 10

vim.dashboard.startify.lists Link copied!

Type: list of (attribute set)

Specify the lists and in what order they are displayed on startify.

Default: [ { header = [ "MRU" ]; type = "files"; } { header = [ "MRU Current Directory" ]; type = "dir"; } { header = [ "Sessions" ]; type = "sessions"; } { header = [ "Bookmarks" ]; type = "bookmarks"; } { header = [ "Commands" ]; type = "commands"; } ]

vim.dashboard.startify.paddingLeft Link copied!

Type: signed integer

Number of spaces used for left padding.

Default: 3

vim.dashboard.startify.sessionAutoload Link copied!

Type: boolean

Make vim-startify auto load Session.vim files from the current directory

Default: false

vim.dashboard.startify.sessionBeforeSave Link copied!

Type: list of string

Commands to run before saving a session

Default: [ ]

vim.dashboard.startify.sessionDeleteBuffers Link copied!

Type: boolean

Delete all buffers when loading or closing a session

Default: true

vim.dashboard.startify.sessionDir Link copied!

Type: string

Directory to save and load sessions from

Default: "~/.vim/session"

vim.dashboard.startify.sessionPersistence Link copied!

Type: boolean

Persist session before leaving vim or switching session

Default: false

vim.dashboard.startify.sessionRemoveLines Link copied!

Type: list of string

Patterns to remove from session files

Default: [ ]

vim.dashboard.startify.sessionSavecmds Link copied!

Type: list of string

List of commands to run when loading a session.

Default: [ ]

vim.dashboard.startify.sessionSavevars Link copied!

Type: list of string

List of variables to save into a session file.

Default: [ ]

vim.dashboard.startify.sessionSort Link copied!

Type: boolean

While true, sessions will be sorted by date rather than alphabetically.

Default: false
Example: true

vim.dashboard.startify.skipList Link copied!

Type: list of string

List of regex patterns to exclude from MRU lists

Default: [ ]

vim.dashboard.startify.skipListServer Link copied!

Type: list of string

List of vim servers to not load startify for

Default: [ ]

vim.dashboard.startify.unsafe Link copied!

Type: boolean

Whether to turn on unsafe mode for Startify.

While enabld, vim-startify will stops resolving links, checking files are readable and filtering bookmark list

Default: false

vim.dashboard.startify.updateOldFiles Link copied!

Type: boolean

Set if you want startify to always update and not just when neovim closes

Default: false

vim.dashboard.startify.useEnv Link copied!

Type: boolean

Show environment variables in path if name is shorter than value

Default: false

vim.debugMode.enable Link copied!

Type: boolean

Whether to enable debug mode.

Default: false
Example: true

vim.debugMode.level Link copied!

Type: one of 2, 3, 4, 5, 8, 9, 11, 12, 13, 14, 15, 16

Set verbosity level of Neovim while debug mode is enabled.

Value must be be one of the levels expected by Neovim's verbose option

Default: 16

vim.debugMode.logFile Link copied!

Type: null or absolute path

Set the log file that will be used to store verbose messages set by the verbose option.

Default: null

vim.debugger.nvim-dap.enable Link copied!

Type: boolean

Whether to enable debugging via nvim-dap.

Default: false
Example: true

vim.debugger.nvim-dap.mappings.continue Link copied!

Type: null or string

Continue

Default: "<leader>dc"

vim.debugger.nvim-dap.mappings.goDown Link copied!

Type: null or string

Go down stacktrace

Default: "<leader>dvi"

vim.debugger.nvim-dap.mappings.goUp Link copied!

Type: null or string

Go up stacktrace

Default: "<leader>dvo"

vim.debugger.nvim-dap.mappings.hover Link copied!

Type: null or string

Hover

Default: "<leader>dh"

vim.debugger.nvim-dap.mappings.restart Link copied!

Type: null or string

Restart

Default: "<leader>dR"

vim.debugger.nvim-dap.mappings.runLast Link copied!

Type: null or string

Re-run Last Debug Session

Default: "<leader>d."

vim.debugger.nvim-dap.mappings.runToCursor Link copied!

Type: null or string

Continue to the current cursor

Default: "<leader>dgc"

vim.debugger.nvim-dap.mappings.stepBack Link copied!

Type: null or string

Step back

Default: "<leader>dgk"

vim.debugger.nvim-dap.mappings.stepInto Link copied!

Type: null or string

Step into function

Default: "<leader>dgi"

vim.debugger.nvim-dap.mappings.stepOut Link copied!

Type: null or string

Step out of function

Default: "<leader>dgo"

vim.debugger.nvim-dap.mappings.stepOver Link copied!

Type: null or string

Next step

Default: "<leader>dgj"

vim.debugger.nvim-dap.mappings.terminate Link copied!

Type: null or string

Terminate

Default: "<leader>dq"

vim.debugger.nvim-dap.mappings.toggleBreakpoint Link copied!

Type: null or string

Toggle breakpoint

Default: "<leader>db"

vim.debugger.nvim-dap.mappings.toggleDapUI Link copied!

Type: null or string

Toggle DAP-UI

Default: "<leader>du"

vim.debugger.nvim-dap.mappings.toggleRepl Link copied!

Type: null or string

Toggle Repl

Default: "<leader>dr"

vim.debugger.nvim-dap.sources Link copied!

Type: attribute set of string

List of debuggers to install

Default: { }

vim.debugger.nvim-dap.ui.autoStart Link copied!

Type: boolean

Automatically Opens and Closes DAP-UI upon starting/closing a debugging session

Default: true

vim.debugger.nvim-dap.ui.enable Link copied!

Type: boolean

Whether to enable UI extension for nvim-dap.

Default: false
Example: true

vim.debugger.nvim-dap.ui.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of nvim-dap-ui.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.diagnostics.config Link copied!

Type: open submodule of attribute set of ((attribute set of anything) or boolean or (luaInline))

Values that will be passed to vim.diagnostic.config after being converted to a Lua table. Possible values for each key can be found in the help text for vim.diagnostics.Opts. You may find more about the diagnostics API of Neovim in :help diagnostic-api.

Note

This option is freeform. You may set values that are not present in nvf documentation, but those values will not be fully type checked. Please refer to the help text for vim.diagnostic.Opts for appropriate values.

Default: { }

vim.diagnostics.config.signs Link copied!

Type: (attribute set of anything) or boolean or (luaInline)

Use signs for diagnostics. See :help diagnostic-signs.

Note

The code presented in that example section uses Lua expressions as object keys which only translate well if you use lib.generators.mkLuaInline as in the example.

Default: false
Example:
signs.text = lib.generators.mkLuaInline ''
  {
    [vim.diagnostic.severity.ERROR] = "󰅚 ",
    [vim.diagnostic.severity.WARN] = "󰀪 ",
  }
'';

vim.diagnostics.config.underline Link copied!

Type: (attribute set of anything) or boolean or (luaInline)

Use underline for diagnostics.

Default: true

vim.diagnostics.config.update_in_insert Link copied!

Type: boolean

Update diagnostics in Insert mode. If false, diagnostics will be updated on InsertLeave (:help InsertLeave).

Default: false

vim.diagnostics.config.virtual_lines Link copied!

Type: (attribute set of anything) or boolean or (luaInline)

Use virtual lines for diagnostics.

Default: false

vim.diagnostics.config.virtual_text Link copied!

Type: (attribute set of anything) or boolean or (luaInline)

Use virtual text for diagnostics. If multiple diagnostics are set for a namespace, one prefix per diagnostic + the last diagnostic message are shown.

Default: false
Example:
{
  format = lib.generators.mkLuaInline ''
    function(diagnostic)
      return string.format("%s (%s)", diagnostic.message, diagnostic.source)
    end
  '';
}

vim.diagnostics.enable Link copied!

Type: boolean

Whether to enable diagnostics module for Neovim.

Default: false
Example: true

vim.diagnostics.nvim-lint.enable Link copied!

Type: boolean

Whether to enable asynchronous linter plugin for Neovim [nvim-lint].

Default: false
Example: true

vim.diagnostics.nvim-lint.lint_after_save Link copied!

Type: boolean

Whether to enable autocmd to lint after each save.

Default: true
Example: true

vim.diagnostics.nvim-lint.lint_function Link copied!

Type: luaInline

Define the global function nvf_lint which is used by nvf to lint.

Default: { _type = "lua-inline"; expr = '' function(buf) local ft = vim.api.nvim_get_option_value("filetype", { buf = buf }) local linters = require("lint").linters local linters_from_ft = require("lint").linters_by_ft[ft] -- if no linter is configured for this filetype, stops linting if linters_from_ft == nil then return end for _, name in ipairs(linters_from_ft) do local linter = linters[name] assert(linter, 'Linter with name `' .. name .. '` not available') if type(linter) == "function" then linter = linter() end -- for require("lint").lint() to work, linter.name must be set linter.name = linter.name or name local cwd = linter.required_files -- if no configuration files are configured, lint if cwd == nil then require("lint").lint(linter) else -- if configuration files are configured and present in the project, lint for _, fn in ipairs(cwd) do local path = vim.fs.joinpath(linter.cwd or vim.fn.getcwd(), fn); if vim.uv.fs_stat(path) then require("lint").lint(linter) break end end end end end ''; }
Example:
mkLuaInline ''
  function(buf)
    require("lint").try_lint()
  end
''

vim.diagnostics.nvim-lint.linters Link copied!

Type: attribute set of (submodule)

Linter configurations. Builtin linters will be updated and not replaced, but note that this is not a deep extend operation, i.e. if you define an env option, it will replace the entire env table provided by the builtin (if it exists).

Default: { }
Example:
''
  {
    phpcs = {
      args = ["-q" "--report-json" "-"];
  
      # this will replace the builtin's env table if it exists
      env = {
        ENV_VAR = "something";
      };
    };
  }
''

vim.diagnostics.nvim-lint.linters.<name>.append_fname Link copied!

Type: null or boolean

Automatically add the current file name to the commands arguments. Only has an effect if stdin is false

Default: null

vim.diagnostics.nvim-lint.linters.<name>.args Link copied!

Type: null or (list of (string or (luaInline)))

Arguments to pass

Default: null

vim.diagnostics.nvim-lint.linters.<name>.cmd Link copied!

Type: null or string

Command of the linter

Default: null

vim.diagnostics.nvim-lint.linters.<name>.cwd Link copied!

Type: null or string

Working directory of the linter

Default: null

vim.diagnostics.nvim-lint.linters.<name>.env Link copied!

Type: null or (attribute set of string)

Environment variables to use

Default: null

vim.diagnostics.nvim-lint.linters.<name>.ignore_exitcode Link copied!

Type: null or boolean

Declares if exit code != 1 should be ignored or result in a warning.

Default: null

vim.diagnostics.nvim-lint.linters.<name>.name Link copied!

Type: null or string

Name of the linter

Default: null

vim.diagnostics.nvim-lint.linters.<name>.parser Link copied!

Type: null or (luaInline)

Parser function

Default: null

vim.diagnostics.nvim-lint.linters.<name>.required_files Link copied!

Type: null or (list of string)

Required files to lint. These files must exist relative to the cwd of the linter or else this linter will be skipped

Note

This option is an nvf extension that only takes effect if you use the nvf_lint() lua function.

See vim.diagnostics.nvim-lint.lint_function.

Default: null
Example:
[
  "eslint.config.js"
]

vim.diagnostics.nvim-lint.linters.<name>.stdin Link copied!

Type: null or boolean

Send content via stdin.

Default: null

vim.diagnostics.nvim-lint.linters.<name>.stream Link copied!

Type: null or one of "stdout", "stderr", "both"

Result stream

Default: null

vim.diagnostics.nvim-lint.linters_by_ft Link copied!

Type: attribute set of list of string

Map of filetype to formatters. This option takes a set of key = value format where the value will be converted to its Lua equivalent through `toLuaObject. You are responsible for passing the correct Nix data types to generate a correct Lua value that conform is able to accept.

Default: { }
Example:
{
  markdown = [
    "vale"
  ];
  text = [
    "vale"
  ];
}

vim.diagnostics.presets.biomejs.enable Link copied!

Type: boolean

Whether to enable the Biome Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.biomejs for customization .

Default: false
Example: true

vim.diagnostics.presets.checkmake.enable Link copied!

Type: boolean

Whether to enable the Checkmake Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.checkmake for customization .

Default: false
Example: true

vim.diagnostics.presets.cpplint.enable Link copied!

Type: boolean

Whether to enable the cpplint Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.cpplint for customization .

Default: false
Example: true

vim.diagnostics.presets.deadnix.enable Link copied!

Type: boolean

Whether to enable the Deadnix Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.deadnix for customization .

Default: false
Example: true

vim.diagnostics.presets.djlint.enable Link copied!

Type: boolean

Whether to enable the djLint Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.djlint for customization .

Default: false
Example: true

vim.diagnostics.presets.dotenv-linter.enable Link copied!

Type: boolean

Whether to enable the Dotenv Linter Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.dotenv-linter for customization .

Default: false
Example: true

vim.diagnostics.presets.eslint_d.enable Link copied!

Type: boolean

Whether to enable the Eslint Daemon Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.eslint_d for customization .

Default: false
Example: true

vim.diagnostics.presets.golangci-lint.enable Link copied!

Type: boolean

Whether to enable the GolangCI Lint Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.golangci-lint for customization .

Default: false
Example: true

vim.diagnostics.presets.hadolint.enable Link copied!

Type: boolean

Whether to enable the Hadolint Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.hadolint for customization .

Default: false
Example: true

vim.diagnostics.presets.htmlhint.enable Link copied!

Type: boolean

Whether to enable the HTMLHint Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.htmlhint for customization .

Default: false
Example: true

vim.diagnostics.presets.ktlint.enable Link copied!

Type: boolean

Whether to enable the ktlint Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.ktlint for customization .

Default: false
Example: true

vim.diagnostics.presets.luacheck.enable Link copied!

Type: boolean

Whether to enable the Luacheck Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.luacheck for customization .

Default: false
Example: true

vim.diagnostics.presets.markdownlint-cli2.enable Link copied!

Type: boolean

Whether to enable the Markdownlint CLI 2 Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.markdownlint-cli2 for customization .

Default: false
Example: true

vim.diagnostics.presets.mypy.enable Link copied!

Type: boolean

Whether to enable the Mypy Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.mypy for customization .

Default: false
Example: true

vim.diagnostics.presets.phpstan.enable Link copied!

Type: boolean

Whether to enable the PHPStan Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.phpstan for customization .

Default: false
Example: true

vim.diagnostics.presets.rubocop.enable Link copied!

Type: boolean

Whether to enable the RuboCop Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.rubocop for customization .

Default: false
Example: true

vim.diagnostics.presets.rumdl.enable Link copied!

Type: boolean

Whether to enable the Rumdl Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.rumdl for customization .

Default: false
Example: true

vim.diagnostics.presets.selene.enable Link copied!

Type: boolean

Whether to enable the Selene Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.selene for customization .

Default: false
Example: true

vim.diagnostics.presets.shellcheck.enable Link copied!

Type: boolean

Whether to enable the Shellcheck Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.shellcheck for customization .

Default: false
Example: true

vim.diagnostics.presets.sqlfluff.enable Link copied!

Type: boolean

Whether to enable the SQLFluff Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.sqlfluff for customization .

Default: false
Example: true

vim.diagnostics.presets.sqruff.enable Link copied!

Type: boolean

Whether to enable the Sqruff Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.sqruff for customization .

Default: false
Example: true

vim.diagnostics.presets.statix.enable Link copied!

Type: boolean

Whether to enable the Statix Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.statix for customization .

Default: false
Example: true

vim.diagnostics.presets.stylelint.enable Link copied!

Type: boolean

Whether to enable the Stylelint Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.stylelint for customization .

Default: false
Example: true

vim.diagnostics.presets.taplo.enable Link copied!

Type: boolean

Whether to enable the Taplo Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.taplo for customization .

Default: false
Example: true

vim.diagnostics.presets.tombi.enable Link copied!

Type: boolean

Whether to enable the Tombi Diagnostics Provider. Use vim.diagnostics.nvim-lint.linters.tombi for customization .

Default: false
Example: true

vim.enableLuaLoader Link copied!

Type: boolean

Whether to enable the experimental Lua module loader to speed up the start up process. If true, this will enable the experimental Lua module loader which:

  • overrides loadfile
  • adds the lua loader using the byte-compilation cache
  • adds the libs loader
  • removes the default Neovim loader

Note

The Lua module loader is disabled by default. Before setting this option, please take a look at the official documentation. This option may be enabled by default in the future.

Default: false
Example: true

vim.extraLuaFiles Link copied!

Type: list of (absolute path or string)

Additional Lua files that will be sourced by Neovim.

Takes both absolute and relative paths, all of which will be called via the luafile command in Neovim.

See lua-commands on the Neovim documentation for more details.

Warning

All paths passed to this option must be valid. If Neovim cannot resolve the path you are attempting to source, then your configuration will error, and Neovim will not start. Please ensure that all paths are correct before using this option.

Default: [ ]
Example:
[
  # Absolute path, as a string - impure
  "$HOME/.config/nvim/my-lua-file.lua"

  # Relative path, as a path - pure
  ./nvim/my-lua-file.lua

  # Source type path - pure and reproducible
  (builtins.path {
    path = ./nvim/my-lua-file.lua;
    name = "my-lua-file";
  })
]

vim.extraPackages Link copied!

Type: list of package

List of additional packages to make available to the Neovim wrapper.

Default: [ ]
Example: "[pkgs.fzf pkgs.ripgrep]"

vim.extraPlugins Link copied!

Type: attribute set of (submodule)

A list of plugins and their configurations that will be set up after builtin plugins.

This option takes a special type that allows you to order your custom plugins using nvf's modified DAG library.

Default: { }
Example:
```nix
with pkgs.vimPlugins; {
  aerial = {
    package = aerial-nvim;
    setup = "require('aerial').setup {}";
  };

  harpoon = {
    package = harpoon;
    setup = "require('harpoon').setup {}";
    after = ["aerial"]; # place harpoon configuration after aerial
  };
}
```

vim.extraPlugins.<name>.after Link copied!

Type: list of string

Setup this plugin after the following ones.

Default: [ ]

vim.extraPlugins.<name>.package Link copied!

Type: null or package or one of "blink-cmp", "aerial-nvim", "alpha-nvim", "avante-nvim", "base16", "blink-cmp-spell", "blink-compat", "blink-emoji-nvim", "blink-indent", "blink-ripgrep-nvim", "bufdelete-nvim", "bufferline-nvim", "catppuccin", "ccc-nvim", "cellular-automaton-nvim", "chatgpt-nvim", "cheatsheet-nvim", "cinnamon-nvim", "cmp-buffer", "cmp-luasnip", "cmp-nvim-lsp", "cmp-path", "cmp-treesitter", "codecompanion-nvim", "codewindow-nvim", "colorful-menu-nvim", "comment-nvim", "conform-nvim", "copilot-cmp", "copilot-lua", "crates-nvim", "crazy-coverage", "csharpls-extended-lsp-nvim", "csvview-nvim", "dashboard-nvim", "diffview-nvim", "direnv-vim", "dracula", "dressing-nvim", "elixir-tools-nvim", "everforest", "fastaction-nvim", "fidget-nvim", "flash-nvim", "fluent-nvim", "flutter-tools-nvim", "friendly-snippets", "fzf-lua", "gesture-nvim", "git-conflict-nvim", "github", "gitlinker-nvim", "gitsigns-nvim", "glow-nvim", "gopher-nvim", "gradle-nvim", "gruber-darker", "grug-far-nvim", "gruvbox", "hardtime-nvim", "harpoon", "haskell-tools-nvim", "highlight-undo-nvim", "hlargs-nvim", "hop.nvim", "hunk-nvim", "hydra-nvim", "icon-picker-nvim", "image-nvim", "img-clip", "indent-blankline-nvim", "lazydev-nvim", "leap-nvim", "leetcode-nvim", "lsp-signature-nvim", "lspkind-nvim", "lspsaga-nvim", "lua-utils-nvim", "lualine-nvim", "luasnip", "lz-n", "lzn-auto-require", "markview-nvim", "maven-nvim", "mellow", "mini-ai", "mini-align", "mini-animate", "mini-base16", "mini-basics", "mini-bracketed", "mini-bufremove", "mini-clue", "mini-colors", "mini-comment", "mini-completion", "mini-cursorword", "mini-diff", "mini-doc", "mini-extra", "mini-files", "mini-fuzzy", "mini-git", "mini-hipatterns", "mini-hues", "mini-icons", "mini-indentscope", "mini-jump", "mini-jump2d", "mini-map", "mini-misc", "mini-move", "mini-notify", "mini-operators", "mini-pairs", "mini-pick", "mini-sessions", "mini-snippets", "mini-splitjoin", "mini-starter", "mini-statusline", "mini-surround", "mini-tabline", "mini-test", "mini-trailspace", "mini-visits", "minimap-vim", "mkdir-nvim", "modes-nvim", "multicursors-nvim", "neo-tree-nvim", "neocodeium", "neocord", "neogit", "neorg", "neorg-telescope", "neovim-session-manager", "new-file-template-nvim", "nix-develop-nvim", "noice-nvim", "none-ls-nvim", "nord", "nui-nvim", "nvim-autopairs", "nvim-biscuits", "nvim-cmp", "nvim-colorizer-lua", "nvim-cursorline", "nvim-dap", "nvim-dap-go", "nvim-dap-odin", "nvim-dap-ui", "nvim-docs-view", "nvim-highlight-colors", "nvim-lightbulb", "nvim-lint", "nvim-lspconfig", "nvim-metals", "nvim-navbuddy", "nvim-navic", "nvim-neoclip-lua", "nvim-nio", "nvim-notify", "nvim-scrollbar", "nvim-surround", "nvim-tree-lua", "nvim-treesitter-context", "nvim-treesitter-textobjects", "nvim-ts-autotag", "nvim-ufo", "nvim-web-devicons", "obsidian-nvim", "oil-git-status.nvim", "oil-nvim", "omnisharp-extended-lsp-nvim", "onedark", "orgmode", "otter-nvim", "oxocarbon", "pathlib-nvim", "plenary-nvim", "precognition-nvim", "prettier-plugin-astro", "prettier-plugin-pug", "prettier-plugin-svelte", "project-nvim", "promise-async", "qmk-nvim", "rainbow-delimiters-nvim", "registers-nvim", "render-markdown-nvim", "rose-pine", "roslyn-nvim", "rtp-nvim", "run-nvim", "rustaceanvim", "smart-splits", "smartcolumn-nvim", "snacks-nvim", "solarized", "solarized-osaka", "sqls-nvim", "supermaven-nvim", "syntax-gaslighting", "tabular", "telescope", "tiny-devicons-auto-colors-nvim", "todo-comments-nvim", "toggleterm-nvim", "tokyonight", "trouble", "ts-error-translator-nvim", "typst-concealer", "typst-preview-nvim", "undotree", "vim-dirtytalk", "vim-fugitive", "vim-illuminate", "vim-markdown", "vim-repeat", "vim-sleuth", "vim-startify", "vim-wakatime", "which-key-nvim", "yanky-nvim", "nvim-treesitter", "flutter-tools-patched", "vim-repeat"

Plugin Package.

Default: null

vim.extraPlugins.<name>.setup Link copied!

Type: strings concatenated with "\n"

Lua code to run during setup.

Default: ""
Example: "require('aerial').setup {}"

vim.filetree.neo-tree.enable Link copied!

Type: boolean

Whether to enable filetree via neo-tree.nvim.

Default: false
Example: true

vim.filetree.neo-tree.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of neo-tree.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.filetree.nvimTree.enable Link copied!

Type: boolean

Whether to enable filetree via nvim-tree.lua.

Default: false
Example: true

vim.filetree.nvimTree.mappings.findFile Link copied!

Type: null or string

Find file in NvimTree

Default: "<leader>tg"

vim.filetree.nvimTree.mappings.focus Link copied!

Type: null or string

Focus NvimTree

Default: "<leader>tf"

vim.filetree.nvimTree.mappings.refresh Link copied!

Type: null or string

Refresh NvimTree

Default: "<leader>tr"

vim.filetree.nvimTree.mappings.toggle Link copied!

Type: null or string

Toggle NvimTree

Default: "<leader>t"

vim.filetree.nvimTree.openOnSetup Link copied!

Type: boolean

Open when vim is started on a directory

Default: true

vim.filetree.nvimTree.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of Nvim Tree.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.filetype Link copied!

Type: submodule

Additional filetypes to be registered through vim.filetype.add()

Filetype mappings can be added either by extension or by filename. The key can be either the "tail" or the full file path. The full file path is checked first, followed by the file name. If a match is not found using the filename, then the filename is matched against the list of Lua patterns (sorted by priority) until a match is found.

If a pattern matching does not find a filetype, then the file extension is used.

See :h vim.filetype.add() for more details.

Default: { }
Example:
{
  extension = {
    bar = {
      _type = "lua-inline";
      expr = ''
        {
          bar = function(path, bufnr)
            if some_condition() then
              return 'barscript', function(bufnr)
                -- Set a buffer variable
                vim.b[bufnr].barscript_version = 2
              end
            end
            return 'bar'
          end,
        }
      '';
    };
    mdx = "markdown";
  };
  filename = {
    ".foorc" = "toml";
    "/etc/foo/config" = "toml";
    "todo.txt" = "todotxt";
  };
  pattern = {
    ".*%.scm" = "query";
    ".*README.(%a+)" = ''
      function(path, bufnr, ext)
        if ext == 'md' then
          return 'markdown'
        elseif ext == 'rst' then
          return 'rst'
        end
      end,
    '';
  };
}

vim.filetype.extension Link copied!

Type: null or (attribute set of (string or (luaInline) or list of (string or (luaInline) or (submodule))))

register a new filetype by extension

Default: null

vim.filetype.filename Link copied!

Type: null or (attribute set of (string or (luaInline) or list of (string or (luaInline) or (submodule))))

register a new filetype by file name

Default: null

vim.filetype.pattern Link copied!

Type: null or (attribute set of (string or (luaInline) or list of (string or (luaInline) or (submodule))))

register a new filetype by pattern

Default: null

vim.formatter.conform-nvim.enable Link copied!

Type: boolean

Whether to enable lightweight yet powerful formatter plugin for Neovim [conform-nvim].

Default: false
Example: true

vim.formatter.conform-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of conform.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.fzf-lua.enable Link copied!

Type: boolean

Whether to enable fzf-lua.

Default: false
Example: true

vim.fzf-lua.profile Link copied!

Type: one of "default", "default-title", "fzf-native", "fzf-tmux", "fzf-vim", "max-perf", "telescope", "skim", "borderless", "borderless-full", "border-fused"

The configuration profile to use

Default: "default"

vim.fzf-lua.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of fzf-lua.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.gestures.gesture-nvim.enable Link copied!

Type: boolean

Whether to enable gesture-nvim: mouse gestures.

Default: false
Example: true

vim.gestures.gesture-nvim.mappings.draw Link copied!

Type: null or string

Start drawing [gesture.nvim]

Default: "<LeftDrag>"

vim.gestures.gesture-nvim.mappings.finish Link copied!

Type: null or string

Finish drawing [gesture.nvim]

Default: "<LeftRelease>"

vim.git.enable Link copied!

Type: boolean

Whether to enable git integration suite.

Enabling this option will enable the following plugins:

  • gitsigns
  • hunk-nvim
  • vim-fugitive
  • git-conflict
  • gitlinker-nvim .
Default: false
Example: true

vim.git.git-conflict.enable Link copied!

Type: boolean

Whether to enable git-conflict.

Default: false
Example: true

vim.git.git-conflict.mappings.both Link copied!

Type: null or string

Choose Both [Git-Conflict]

Default: "<leader>cb"

vim.git.git-conflict.mappings.nextConflict Link copied!

Type: null or string

Go to the next Conflict [Git-Conflict]

Default: "[x"

vim.git.git-conflict.mappings.none Link copied!

Type: null or string

Choose None [Git-Conflict]

Default: "<leader>c0"

vim.git.git-conflict.mappings.ours Link copied!

Type: null or string

Choose Ours [Git-Conflict]

Default: "<leader>co"

vim.git.git-conflict.mappings.prevConflict Link copied!

Type: null or string

Go to the previous Conflict [Git-Conflict]

Default: "]x"

vim.git.git-conflict.mappings.theirs Link copied!

Type: null or string

Choose Theirs [Git-Conflict]

Default: "<leader>ct"

vim.git.git-conflict.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of git-conflict.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.git.gitlinker-nvim.enable Link copied!

Type: boolean

Whether to enable gitlinker-nvim.

Default: false
Example: true

vim.git.gitlinker-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of gitlinker-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.git.gitsigns.codeActions.enable Link copied!

Type: boolean

Whether to enable gitsigns codeactions through null-ls.

Default: false
Example: true

vim.git.gitsigns.enable Link copied!

Type: boolean

Whether to enable gitsigns.

Default: false
Example: true

vim.git.gitsigns.mappings.blameLine Link copied!

Type: null or string

Blame line [Gitsigns]

Default: "<leader>hb"

vim.git.gitsigns.mappings.diffProject Link copied!

Type: null or string

Diff project [Gitsigns]

Default: "<leader>hD"

vim.git.gitsigns.mappings.diffThis Link copied!

Type: null or string

Diff this [Gitsigns]

Default: "<leader>hd"

vim.git.gitsigns.mappings.nextHunk Link copied!

Type: null or string

Next hunk [Gitsigns]

Default: "]c"

vim.git.gitsigns.mappings.previewHunk Link copied!

Type: null or string

Preview hunk [Gitsigns]

Default: "<leader>hP"

vim.git.gitsigns.mappings.previousHunk Link copied!

Type: null or string

Previous hunk [Gitsigns]

Default: "[c"

vim.git.gitsigns.mappings.resetBuffer Link copied!

Type: null or string

Reset buffer [Gitsigns]

Default: "<leader>hR"

vim.git.gitsigns.mappings.resetHunk Link copied!

Type: null or string

Reset hunk [Gitsigns]

Default: "<leader>hr"

vim.git.gitsigns.mappings.stageBuffer Link copied!

Type: null or string

Stage buffer [Gitsigns]

Default: "<leader>hS"

vim.git.gitsigns.mappings.stageHunk Link copied!

Type: null or string

Stage hunk [Gitsigns]

Default: "<leader>hs"

vim.git.gitsigns.mappings.toggleBlame Link copied!

Type: null or string

Toggle blame [Gitsigns]

Default: "<leader>tb"

vim.git.gitsigns.mappings.toggleDeleted Link copied!

Type: null or string

Toggle deleted [Gitsigns]

Default: "<leader>td"

vim.git.gitsigns.mappings.undoStageHunk Link copied!

Type: null or string

Undo stage hunk [Gitsigns]

Default: "<leader>hu"

vim.git.gitsigns.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of gitsigns.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.git.hunk-nvim.enable Link copied!

Type: boolean

Whether to enable tool for splitting diffs in Neovim [hunk-nvim].

Default: false
Example: true

vim.git.hunk-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of hunk-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.git.neogit.enable Link copied!

Type: boolean

Whether to enable An Interactive and powerful Git interface [Neogit].

Default: false
Example: true

vim.git.neogit.mappings.commit Link copied!

Type: null or string

Git Commit [Neogit]

Default: "<leader>gc"

vim.git.neogit.mappings.open Link copied!

Type: null or string

Git Status [Neogit]

Default: "<leader>gs"

vim.git.neogit.mappings.pull Link copied!

Type: null or string

Git pull [Neogit]

Default: "<leader>gp"

vim.git.neogit.mappings.push Link copied!

Type: null or string

Git push [Neogit]

Default: "<leader>gP"

vim.git.neogit.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of neogit.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.git.vim-fugitive.enable Link copied!

Type: boolean

Whether to enable vim-fugitive.

Default: false
Example: true

vim.globals Link copied!

Type: open submodule of attribute set of anything

A freeform attribute set containing global variable values for setting vim variables as early as possible. If populated, this option will set vim variables in the built luaConfigRC as the first item.

Note

{foo = "bar";} will set vim.g.foo to "bar", where the type of bar in the resulting Lua value will be inferred from the type of the value in the {name = value;} pair passed to the option.

Default: { }
Example:
{
  some_variable = 42;
}

vim.globals.editorconfig Link copied!

Type: boolean

Whether to enable EditorConfig integration in Neovim.

This defaults to true as it is enabled by default in stock Neovim, setting this option to false disables EditorConfig integration entirely.

See Neovim documentation for more details on configuring EditorConfig behaviour.

Default: true

vim.globals.mapleader Link copied!

Type: string

The key used for <leader> mappings

Default: " "

vim.globals.maplocalleader Link copied!

Type: string

The key used for <localleader> mappings

Default: ","

vim.hideSearchHighlight Link copied!

Type: boolean

Hide search highlight so it doesn't stay highlighted

Default: false

vim.highlight Link copied!

Type: attribute set of (submodule)

Custom highlights to apply

Default: { }
Example:
{
  SignColumn = {
    bg = "#282828";
  };
}

vim.highlight.<name>.bg Link copied!

Type: null or string

The background color to use. Written as color name or hex "#RRGGBB".

Default: null
Example: "#ebdbb2"

vim.highlight.<name>.blend Link copied!

Type: null or integer between 0 and 100 (both inclusive)

Blend as an integer between 0 and 100

Default: null

vim.highlight.<name>.bold Link copied!

Type: null or boolean

Whether to enable bold

Default: null
Example: false

vim.highlight.<name>.cterm Link copied!

Type: null or (list of (one of "bold", "underline", "undercurl", "underdouble", "underdotted", "underdashed", "strikethrough", "reverse", "inverse", "italic", "standout", "altfont", "nocombine", "NONE"))

The cterm arguments to use. See ':h highlight-args'

Default: null

vim.highlight.<name>.ctermbg Link copied!

Type: null or string

The cterm background color to use

Default: null

vim.highlight.<name>.ctermfg Link copied!

Type: null or string

The cterm foreground color to use

Default: null

vim.highlight.<name>.default Link copied!

Type: null or boolean

Don't override existing definition

Default: null

vim.highlight.<name>.fg Link copied!

Type: null or string

The foreground color to use. Written as color name or hex "#RRGGBB".

Default: null
Example: "#ebdbb2"

vim.highlight.<name>.force Link copied!

Type: null or boolean

Whether to enable force update

Default: null
Example: false

vim.highlight.<name>.italic Link copied!

Type: null or boolean

Whether to enable italic

Default: null
Example: false

vim.highlight.<name>.nocombine Link copied!

Type: null or boolean

Whether to enable nocombine

Default: null
Example: false

vim.highlight.<name>.reverse Link copied!

Type: null or boolean

Whether to enable reverse

Default: null
Example: false

vim.highlight.<name>.sp Link copied!

Type: null or string

The special color to use. Written as color name or hex "#RRGGBB".

Default: null
Example: "#ebdbb2"

vim.highlight.<name>.standout Link copied!

Type: null or boolean

Whether to enable standout

Default: null
Example: false

vim.highlight.<name>.strikethrough Link copied!

Type: null or boolean

Whether to enable strikethrough

Default: null
Example: false

vim.highlight.<name>.undercurl Link copied!

Type: null or boolean

Whether to enable undercurl

Default: null
Example: false

vim.highlight.<name>.underdashed Link copied!

Type: null or boolean

Whether to enable underdashed

Default: null
Example: false

vim.highlight.<name>.underdotted Link copied!

Type: null or boolean

Whether to enable underdotted

Default: null
Example: false

vim.highlight.<name>.underdouble Link copied!

Type: null or boolean

Whether to enable underdouble

Default: null
Example: false

vim.highlight.<name>.underline Link copied!

Type: null or boolean

Whether to enable underline

Default: null
Example: false

vim.keymaps Link copied!

Type: list of (submodule)

Custom keybindings.

Default: { }
Example:
''
  vim.keymaps = [
    {
      key = "<leader>m";
      mode = "n";
      silent = true;
      action = ":make<CR>";
    }
    {
      key = "<leader>l";
      mode = ["n" "x"];
      silent = true;
      action = "<cmd>cnext<CR>";
    }
  ];
''

vim.keymaps.*.action Link copied!

Type: string

The command to execute.

vim.keymaps.*.desc Link copied!

Type: null or string

Description for the keybind, to be shown in which-key, if you have enabled in the module system.

Default: null

vim.keymaps.*.expr Link copied!

Type: boolean

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Default: false

vim.keymaps.*.key Link copied!

Type: null or string

The key that triggers this keybind.

Default: null

vim.keymaps.*.lua Link copied!

Type: boolean

If true, action is considered to be lua code. Thus, it will not be wrapped in "".

Default: false

vim.keymaps.*.mode Link copied!

Type: string or list of string

The short-name of the mode to set the keymapping for. Passing an empty string is the equivalent of :map.

See :help map-modes for a list of modes.

Example: `["n" "v" "c"]` for normal, visual and command mode

vim.keymaps.*.noremap Link copied!

Type: boolean

Whether to use the 'noremap' variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Default: true

vim.keymaps.*.nowait Link copied!

Type: boolean

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Default: false

vim.keymaps.*.script Link copied!

Type: boolean

Equivalent to adding <script> to a map.

Default: false

vim.keymaps.*.silent Link copied!

Type: boolean

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Default: true

vim.keymaps.*.unique Link copied!

Type: boolean

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Default: false

vim.languages.arduino.enable Link copied!

Type: boolean

Whether to enable Arduino support.

Default: false
Example: true

vim.languages.arduino.lsp.enable Link copied!

Type: boolean

Whether to enable Arduino LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.arduino.lsp.extraArgs Link copied!

Type: list of string

Extra arguments passed to the Arduino LSP

Default: [ ]

vim.languages.arduino.lsp.servers Link copied!

Type: list of value "arduino-language-server" (singular enum)

Arduino LSP servers to use

Default: [ "arduino-language-server" ]

vim.languages.arduino.treesitter.enable Link copied!

Type: boolean

Whether to enable Arduino treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.arduino.treesitter.package Link copied!

Type: null or package

The arduino treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.arduino

vim.languages.assembly.enable Link copied!

Type: boolean

Whether to enable Assembly support.

Default: false
Example: true

vim.languages.assembly.format.enable Link copied!

Type: boolean

Whether to enable Assembly formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.assembly.format.type Link copied!

Type: list of (one of "asmfmt", "nasmfmt")

Assembly formatter to use

Default: [ "asmfmt" ]

vim.languages.assembly.lsp.enable Link copied!

Type: boolean

Whether to enable Assembly LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.assembly.lsp.servers Link copied!

Type: list of value "asm-lsp" (singular enum)

Assembly LSP server to use

Default: [ "asm-lsp" ]

vim.languages.assembly.treesitter.enable Link copied!

Type: boolean

Whether to enable Assembly treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.assembly.treesitter.packageASM Link copied!

Type: null or package

The asm treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.asm

vim.languages.assembly.treesitter.packageNASM Link copied!

Type: null or package

The nasm treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.nasm

vim.languages.assembly.treesitter.packageRpiPicoASM Link copied!

Type: null or package

The pioasm treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.pioasm

vim.languages.astro.enable Link copied!

Type: boolean

Whether to enable Astro language support.

Default: false
Example: true

vim.languages.astro.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Astro diagnostics via nvim-lint.

Default: config.vim.languages.enableExtraDiagnostics
Example: true

vim.languages.astro.extraDiagnostics.types Link copied!

Type: list of value "eslint_d" (singular enum)

extra Astro diagnostics providers

Default: [ "eslint_d" ]

vim.languages.astro.format.enable Link copied!

Type: boolean

Whether to enable Astro formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.astro.format.type Link copied!

Type: (list of ((one of "biome", "prettier") or value "prettierd" (singular enum) convertible to it)) or ((one of "biome", "prettier") or value "prettierd" (singular enum) convertible to it) convertible to it

Astro formatter to use

Default: [ "prettier" ]

vim.languages.astro.lsp.enable Link copied!

Type: boolean

Whether to enable Astro LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.astro.lsp.servers Link copied!

Type: list of ((one of "astro-language-server", "emmet-ls") or value "astro" (singular enum) convertible to it)

Astro LSP server to use

Default: [ "astro-language-server" ]

vim.languages.astro.treesitter.astroPackage Link copied!

Type: null or package

The astro treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.astro

vim.languages.astro.treesitter.enable Link copied!

Type: boolean

Whether to enable Astro treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.bash.enable Link copied!

Type: boolean

Whether to enable Bash language support.

Default: false
Example: true

vim.languages.bash.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Shell diagnostics via nvim-lint.

Default: config.vim.languages.enableExtraDiagnostics
Example: true

vim.languages.bash.extraDiagnostics.types Link copied!

Type: list of value "shellcheck" (singular enum)

extra Shell diagnostics providers

Default: [ "shellcheck" ]

vim.languages.bash.format.enable Link copied!

Type: boolean

Enable Bash formatting

Default: config.vim.languages.enableFormat

vim.languages.bash.format.type Link copied!

Type: (list of value "shfmt" (singular enum)) or value "shfmt" (singular enum) convertible to it

Bash formatter to use

Default: [ "shfmt" ]

vim.languages.bash.lsp.enable Link copied!

Type: boolean

Whether to enable Bash LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.bash.lsp.servers Link copied!

Type: list of (value "bash-language-server" (singular enum) or value "bash-ls" (singular enum) convertible to it)

Bash LSP server to use

Default: [ "bash-language-server" ]

vim.languages.bash.treesitter.enable Link copied!

Type: boolean

Whether to enable Bash treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.bash.treesitter.package Link copied!

Type: null or package

The bash treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.bash

vim.languages.clang.cHeader Link copied!

Type: boolean
Default: false

vim.languages.clang.dap.debugger Link copied!

Type: value "lldb-vscode" (singular enum)

clang debugger to use

Default: "lldb-vscode"

vim.languages.clang.dap.enable Link copied!

Type: boolean

Enable clang Debug Adapter

Default: config.vim.languages.enableDAP

vim.languages.clang.dap.package Link copied!

Type: package

clang debugger package.

Default: <derivation lldb-21.1.8>

vim.languages.clang.enable Link copied!

Type: boolean

Whether to enable C/C++ language support.

Default: false
Example: true

vim.languages.clang.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra C/C++ diagnostics via nvim-lint.

Default: config.vim.languages.enableExtraDiagnostics
Example: true

vim.languages.clang.extraDiagnostics.types Link copied!

Type: list of value "cpplint" (singular enum)

extra C/C++ diagnostics providers

Default: [ "cpplint" ]

vim.languages.clang.format.enable Link copied!

Type: boolean

Whether to enable C formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.clang.format.type Link copied!

Type: list of (one of "astyle", "clang-format", "indent")

C formatter to use

Default: [ "clang-format" ]

vim.languages.clang.lsp.enable Link copied!

Type: boolean

Whether to enable clang LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.clang.lsp.servers Link copied!

Type: list of (one of "ccls", "clangd")

The clang LSP server to use

Default: [ "clangd" ]

vim.languages.clang.treesitter.cPackage Link copied!

Type: null or package

The c treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.c

vim.languages.clang.treesitter.cppPackage Link copied!

Type: null or package

The cpp treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.cpp

vim.languages.clang.treesitter.enable Link copied!

Type: boolean

Whether to enable C/C++ treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.clojure.enable Link copied!

Type: boolean

Whether to enable Clojure language support.

Default: false
Example: true

vim.languages.clojure.lsp.enable Link copied!

Type: boolean

Whether to enable Clojure LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.clojure.lsp.servers Link copied!

Type: list of value "clojure-lsp" (singular enum)

Clojure LSP server to use

Default: [ "clojure-lsp" ]

vim.languages.clojure.treesitter.enable Link copied!

Type: boolean

Whether to enable Clojure treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.clojure.treesitter.package Link copied!

Type: null or package

The clojure treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.clojure

vim.languages.cmake.enable Link copied!

Type: boolean

Whether to enable CMake language support.

Default: false
Example: true

vim.languages.cmake.format.enable Link copied!

Type: boolean

Whether to enable CMake formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.cmake.format.package Link copied!

Type: package

CMake formatter package

Default: <derivation gersemi-0.23.2>

vim.languages.cmake.format.type Link copied!

Type: value "gersemi" (singular enum)

CMake formatter to use

Default: "gersemi"

vim.languages.cmake.lsp.enable Link copied!

Type: boolean

Whether to enable CMake LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.cmake.lsp.servers Link copied!

Type: list of value "neocmakelsp" (singular enum)

CMake LSP servers to use

Default: [ "neocmakelsp" ]

vim.languages.cmake.treesitter.enable Link copied!

Type: boolean

Whether to enable CMake treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.cmake.treesitter.package Link copied!

Type: null or package

The cmake treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.cmake

vim.languages.csharp.enable Link copied!

Type: boolean

Whether to enable C# language support.

Note

This feature will not work if the .NET SDK is not installed. Both roslyn-ls (with roslyn-nvim) and csharp_ls require the .NET SDK to function properly with Razor. Ensure that the .NET SDK is installed.

Check for version compatibility for optimal performance.

Warning

At the moment, only roslyn-ls(with roslyn-nvim) provides full Razor support. csharp_ls is limited to .cshtml files.

.

Default: false
Example: true

vim.languages.csharp.extensions.csharpls-extended-lsp-nvim.enable Link copied!

Type: boolean

Whether to enable Extended 'textDocument/definition' handler for csharp_ls Neovim LSP

Note

This feature only works for csharp_ls.

.

Default: false
Example: true

vim.languages.csharp.extensions.omnisharp-extended-lsp-nvim.enable Link copied!

Type: boolean

Whether to enable Extended 'textDocument/definition' handler for OmniSharp Neovim LSP

Note

This feature only works for omnisharp.

.

Default: false
Example: true

vim.languages.csharp.extensions.omnisharp-extended-lsp-nvim.mappings.goToDefinition Link copied!

Type: null or string

Go to definition [omnisharp-extended-lsp-nvim]

Default: "<leader>lgd"

vim.languages.csharp.extensions.omnisharp-extended-lsp-nvim.mappings.goToType Link copied!

Type: null or string

Go to type [omnisharp-extended-lsp-nvim]

Default: "<leader>lgt"

vim.languages.csharp.extensions.omnisharp-extended-lsp-nvim.mappings.listImplementations Link copied!

Type: null or string

List implementations [omnisharp-extended-lsp-nvim]

Default: "<leader>lgi"

vim.languages.csharp.extensions.omnisharp-extended-lsp-nvim.mappings.listReferences Link copied!

Type: null or string

List references [omnisharp-extended-lsp-nvim]

Default: "<leader>lgr"

vim.languages.csharp.extensions.roslyn-nvim.enable Link copied!

Type: boolean

Whether to enable Roslyn LSP plugin for Neovim that adds Razor support and works with multiple solutions

Note

This feature only works for roslyn-ls.

.

Default: false
Example: true

vim.languages.csharp.extensions.roslyn-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of roslyn-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.languages.csharp.format.enable Link copied!

Type: boolean

Whether to enable C# formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.csharp.format.type Link copied!

Type: list of value "csharpier" (singular enum)

C# formatter to use

Default: [ ]

vim.languages.csharp.lsp.enable Link copied!

Type: boolean

Whether to enable C# LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.csharp.lsp.servers Link copied!

Type: list of ((one of "csharp_ls", "omnisharp", "roslyn-ls") or value "roslyn_ls" (singular enum) convertible to it)

C# LSP server to use

Default: [ "csharp_ls" ]

vim.languages.csharp.treesitter.csPackage Link copied!

Type: null or package

The c_sharp treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.c_sharp

vim.languages.csharp.treesitter.enable Link copied!

Type: boolean

Whether to enable C# treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.csharp.treesitter.razorPackage Link copied!

Type: null or package

The razor treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.razor

vim.languages.css.enable Link copied!

Type: boolean

Whether to enable CSS language support.

Default: false
Example: true

vim.languages.css.format.enable Link copied!

Type: boolean

Whether to enable CSS formatting.

Default: false
Example: true

vim.languages.css.format.type Link copied!

Type: (list of (one of "biome", "prettier", "prettierd")) or (one of "biome", "prettier", "prettierd") convertible to it

CSS formatter to use

Default: [ "prettier" ]

vim.languages.css.lsp.enable Link copied!

Type: boolean

Whether to enable CSS LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.css.lsp.servers Link copied!

Type: list of ((one of "vscode-css-language-server", "emmet-ls") or value "cssls" (singular enum) convertible to it)

CSS LSP server to use

Default: [ "vscode-css-language-server" ]

vim.languages.css.treesitter.enable Link copied!

Type: boolean

Whether to enable CSS treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.css.treesitter.package Link copied!

Type: null or package

The css treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.css

vim.languages.cue.enable Link copied!

Type: boolean

Whether to enable CUE language support.

Default: false
Example: true

vim.languages.cue.lsp.enable Link copied!

Type: boolean

Whether to enable CUE LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.cue.lsp.servers Link copied!

Type: list of value "cue" (singular enum)

CUE LSP server to use

Default: [ "cue" ]

vim.languages.cue.treesitter.enable Link copied!

Type: boolean

Whether to enable CUE treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.cue.treesitter.package Link copied!

Type: null or package

The cue treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.cue

vim.languages.dart.dap.enable Link copied!

Type: boolean

Enable Dart DAP support via flutter-tools

Default: config.vim.languages.enableDAP

vim.languages.dart.enable Link copied!

Type: boolean

Whether to enable Dart language support.

Default: false
Example: true

vim.languages.dart.flutter-tools.color.enable Link copied!

Type: boolean

Whether to enable highlighting color variables.

Default: false
Example: true

vim.languages.dart.flutter-tools.color.highlightBackground Link copied!

Type: boolean

Highlight the background

Default: false

vim.languages.dart.flutter-tools.color.highlightForeground Link copied!

Type: boolean

Highlight the foreground

Default: false

vim.languages.dart.flutter-tools.color.virtualText.character Link copied!

Type: string

Virtual text character to highlight

Default: "■"

vim.languages.dart.flutter-tools.color.virtualText.enable Link copied!

Type: boolean

Whether to enable Show the highlight using virtual text.

Default: false
Example: true

vim.languages.dart.flutter-tools.enable Link copied!

Type: boolean

Enable flutter-tools for flutter support

Default: config.vim.lsp.enable

vim.languages.dart.flutter-tools.enableNoResolvePatch Link copied!

Type: boolean

Whether to patch flutter-tools so that it doesn't resolve symlinks when detecting flutter path.

Note

This is required if flutterPackage is set to null and the flutter package in your PATH was built with Nix. If you are using a flutter SDK installed from a different source and encounter the error "dart missing from PATH", leave this option disabled.

Default: false

vim.languages.dart.flutter-tools.flutterPackage Link copied!

Type: null or package

Flutter package, or null to detect the flutter path at runtime instead.

Default: <derivation flutter-wrapped-3.41.9-sdk-links>

vim.languages.dart.lsp.enable Link copied!

Type: boolean

Whether to enable Dart LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.dart.lsp.servers Link copied!

Type: list of value "dart" (singular enum)

Dart LSP server to use

Default: [ "dart" ]

vim.languages.dart.treesitter.enable Link copied!

Type: boolean

Whether to enable Dart treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.dart.treesitter.package Link copied!

Type: null or package

The dart treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.dart

vim.languages.docker.enable Link copied!

Type: boolean

Whether to enable Docker language support.

Default: false
Example: true

vim.languages.docker.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Docker diagnostics via nvim-lint.

Default: config.vim.languages.enableExtraDiagnostic
Example: true

vim.languages.docker.extraDiagnostics.types Link copied!

Type: list of value "hadolint" (singular enum)

extra Docker diagnostics providers

Default: [ "hadolint" ]

vim.languages.docker.format.enable Link copied!

Type: boolean

Whether to enable Dockerfile formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.docker.format.type Link copied!

Type: list of value "dockerfmt" (singular enum)

Dockerfile formatter to use

Default: [ "dockerfmt" ]

vim.languages.docker.lsp.enable Link copied!

Type: boolean

Whether to enable Docker LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.docker.lsp.servers Link copied!

Type: list of value "docker-language-server" (singular enum)

Docker LSP server to use

Default: [ "docker-language-server" ]

vim.languages.docker.treesitter.enable Link copied!

Type: boolean

Whether to enable Docker treesitter support.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.docker.treesitter.package Link copied!

Type: null or package

The dockerfile treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.dockerfile

vim.languages.elixir.elixir-tools.enable Link copied!

Type: boolean

Whether to enable Elixir tools.

Default: false
Example: true

vim.languages.elixir.enable Link copied!

Type: boolean

Whether to enable Elixir language support.

Default: false
Example: true

vim.languages.elixir.format.enable Link copied!

Type: boolean

Whether to enable Elixir formatting.

Default: false
Example: true

vim.languages.elixir.format.type Link copied!

Type: (list of value "mix" (singular enum)) or value "mix" (singular enum) convertible to it

Elixir formatter to use

Default: [ "mix" ]

vim.languages.elixir.lsp.enable Link copied!

Type: boolean

Whether to enable Elixir LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.elixir.lsp.servers Link copied!

Type: list of (value "elixir-ls" (singular enum) or value "elixirls" (singular enum) convertible to it)

Elixir LSP server to use

Default: [ "elixir-ls" ]

vim.languages.elixir.treesitter.eexPackage Link copied!

Type: null or package

The eex treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.eex

vim.languages.elixir.treesitter.enable Link copied!

Type: boolean

Whether to enable Elixir treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.elixir.treesitter.heexPackage Link copied!

Type: null or package

The heex treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.heex

vim.languages.elixir.treesitter.package Link copied!

Type: null or package

The elixir treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.elixir

vim.languages.elm.enable Link copied!

Type: boolean

Whether to enable Elm language support.

Default: false
Example: true

vim.languages.elm.lsp.enable Link copied!

Type: boolean

Whether to enable Elm LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.elm.lsp.servers Link copied!

Type: list of value "elm-language-server" (singular enum)

Elm LSP servers to use

Default: [ "elm-language-server" ]

vim.languages.elm.treesitter.enable Link copied!

Type: boolean

Whether to enable Elm treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.elm.treesitter.package Link copied!

Type: null or package

The elm treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.elm

vim.languages.enableDAP Link copied!

Type: boolean

Turn on Debug Adapter for enabled languages by default

Default: false

vim.languages.enableExtraDiagnostics Link copied!

Type: boolean

Turn on extra diagnostics for enabled languages by default

Default: false

vim.languages.enableFormat Link copied!

Type: boolean

Turn on Formatting for enabled languages by default

Default: false

vim.languages.enableTreesitter Link copied!

Type: boolean

Turn on Treesitter for enabled languages by default

Default: false

vim.languages.env.enable Link copied!

Type: boolean

Whether to enable Env language support.

Default: false
Example: true

vim.languages.env.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Env diagnostics via nvim-lint.

Default: config.vim.languages.enableExtraDiagnostic
Example: true

vim.languages.env.extraDiagnostics.types Link copied!

Type: list of value "dotenv-linter" (singular enum)

extra Env diagnostics providers

Default: [ "dotenv-linter" ]

vim.languages.fish.enable Link copied!

Type: boolean

Whether to enable Fish language support.

Default: false
Example: true

vim.languages.fish.format.enable Link copied!

Type: boolean

Enable Fish formatting

Default: config.vim.languages.enableFormat

vim.languages.fish.format.type Link copied!

Type: list of value "fish_indent" (singular enum)

Fish formatter to use

Default: [ "fish_indent" ]

vim.languages.fish.lsp.enable Link copied!

Type: boolean

Whether to enable Fish LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.fish.lsp.servers Link copied!

Type: list of value "fish-lsp" (singular enum)

Fish LSP server to use

Default: [ "fish-lsp" ]

vim.languages.fish.treesitter.enable Link copied!

Type: boolean

Whether to enable Fish treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.fish.treesitter.package Link copied!

Type: null or package

The fish treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.fish

vim.languages.fluent.enable Link copied!

Type: boolean

Whether to enable Fluent language support.

Default: false
Example: true

vim.languages.fsharp.enable Link copied!

Type: boolean

Whether to enable F# language support.

Default: false
Example: true

vim.languages.fsharp.format.enable Link copied!

Type: boolean

Whether to enable F# formatting.

Default: false
Example: true

vim.languages.fsharp.format.type Link copied!

Type: (list of value "fantomas" (singular enum)) or value "fantomas" (singular enum) convertible to it

F# formatter to use

Default: [ "fantomas" ]

vim.languages.fsharp.lsp.enable Link copied!

Type: boolean

Whether to enable F# LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.fsharp.lsp.servers Link copied!

Type: list of value "fsautocomplete" (singular enum)

F# LSP server to use

Default: [ "fsautocomplete" ]

vim.languages.fsharp.treesitter.enable Link copied!

Type: boolean

Whether to enable F# treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.fsharp.treesitter.package Link copied!

Type: null or package

The fsharp treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.fsharp

vim.languages.gettext.enable Link copied!

Type: boolean

Whether to enable gettext portable object language support.

Default: false
Example: true

vim.languages.gettext.treesitter.enable Link copied!

Type: boolean

Whether to enable gettext portable object language treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.gettext.treesitter.package Link copied!

Type: null or package

The po treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.po

vim.languages.gleam.enable Link copied!

Type: boolean

Whether to enable Gleam language support.

Default: false
Example: true

vim.languages.gleam.lsp.enable Link copied!

Type: boolean

Whether to enable Gleam LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.gleam.lsp.servers Link copied!

Type: list of value "gleam" (singular enum)

Gleam LSP server to use

Default: [ "gleam" ]

vim.languages.gleam.treesitter.enable Link copied!

Type: boolean

Whether to enable Gleam treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.gleam.treesitter.package Link copied!

Type: null or package

The gleam treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.gleam

vim.languages.glsl.enable Link copied!

Type: boolean

Whether to enable GLSL language support.

Default: false
Example: true

vim.languages.glsl.lsp.enable Link copied!

Type: boolean

Whether to enable GLSL LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.glsl.lsp.servers Link copied!

Type: list of value "glsl_analyzer" (singular enum)

GLSL LSP server to use

Default: [ "glsl_analyzer" ]

vim.languages.glsl.treesitter.enable Link copied!

Type: boolean

Whether to enable GLSL treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.glsl.treesitter.package Link copied!

Type: null or package

The glsl treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.glsl

vim.languages.go.dap.debugger Link copied!

Type: value "delve" (singular enum)

Go debugger to use

Default: "delve"

vim.languages.go.dap.enable Link copied!

Type: boolean

Whether to enable Go Debug Adapter.

Default: config.vim.languages.enableDAP
Example: true

vim.languages.go.dap.package Link copied!

Type: package

Go debugger package.

Default: <derivation delve-1.26.3>

vim.languages.go.enable Link copied!

Type: boolean

Whether to enable Go language support.

Default: false
Example: true

vim.languages.go.extensions.gopher-nvim.enable Link copied!

Type: boolean

Whether to enable Minimalistic plugin for Go development.

Default: false
Example: true

vim.languages.go.extensions.gopher-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of gopher-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.languages.go.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Go diagnostics via nvim-lint.

Default: config.vim.languages.enableExtraDiagnostic
Example: true

vim.languages.go.extraDiagnostics.types Link copied!

Type: list of value "golangci-lint" (singular enum)

extra Go diagnostics providers

Default: [ "golangci-lint" ]

vim.languages.go.format.enable Link copied!

Type: boolean

Whether to enable Go formatting.

Default: disabled if Go LSP is enabled, otherwise follows {option}`vim.languages.enableFormat`
Example: true

vim.languages.go.format.type Link copied!

Type: (list of (one of "gofmt", "gofumpt", "golines")) or (one of "gofmt", "gofumpt", "golines") convertible to it

Go formatter to use

Default: [ "gofmt" ]

vim.languages.go.lsp.enable Link copied!

Type: boolean

Whether to enable Go LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.go.lsp.servers Link copied!

Type: list of value "gopls" (singular enum)

Go LSP server to use

Default: [ "gopls" ]

vim.languages.go.treesitter.enable Link copied!

Type: boolean

Whether to enable Go treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.go.treesitter.goPackage Link copied!

Type: null or package

The go treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.go

vim.languages.go.treesitter.gomodPackage Link copied!

Type: null or package

The gomod treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.gomod

vim.languages.go.treesitter.gosumPackage Link copied!

Type: null or package

The gosum treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.gosum

vim.languages.go.treesitter.gotmpl.injection Link copied!

Type: string

Treesitter language to inject in Go templates

Default: "html"

vim.languages.go.treesitter.gotmpl.package Link copied!

Type: null or package

The gotmpl treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.gotmpl

vim.languages.go.treesitter.goworkPackage Link copied!

Type: null or package

The gowork treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.gowork

vim.languages.haskell.dap.enable Link copied!

Type: boolean

Whether to enable DAP support for Haskell.

Default: config.vim.languages.enableDAP
Example: true

vim.languages.haskell.dap.package Link copied!

Type: package or list of string

Haskell DAP package or command to run the Haskell DAP

Default: <derivation haskell-debug-adapter-0.0.42.0>

vim.languages.haskell.enable Link copied!

Type: boolean

Whether to enable Haskell support.

Default: false
Example: true

vim.languages.haskell.extensions.haskell-tools.enable Link copied!

Type: boolean

Whether to enable haskell-tools.nvim.

Default: false
Example: true

vim.languages.haskell.extensions.haskell-tools.mappings.codeLensRun Link copied!

Type: null or string

Run code lens [haskell-tools.nvim]

Default: "<localleader>cl"

vim.languages.haskell.extensions.haskell-tools.mappings.evalAll Link copied!

Type: null or string

Evaluate all [haskell-tools.nvim]

Default: "<localleader>ea"

vim.languages.haskell.extensions.haskell-tools.mappings.hoogleSignature Link copied!

Type: null or string

Hoogle signature [haskell-tools.nvim]

Default: "<localleader>hs"

vim.languages.haskell.extensions.haskell-tools.mappings.replQuit Link copied!

Type: null or string

Quit REPL [haskell-tools.nvim]

Default: "<localleader>rq"

vim.languages.haskell.extensions.haskell-tools.mappings.replToggle Link copied!

Type: null or string

Toggle REPL [haskell-tools.nvim]

Default: "<localleader>rr"

vim.languages.haskell.extensions.haskell-tools.mappings.replToggleFile Link copied!

Type: null or string

Toggle REPL for current file [haskell-tools.nvim]

Default: "<localleader>rf"

vim.languages.haskell.extensions.haskell-tools.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of haskell-tools.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.languages.haskell.format.cabalFormatters Link copied!

Type: list of value "cabal-fmt" (singular enum)

Cabal file formatter to use

Default: [ "cabal-fmt" ]

vim.languages.haskell.format.enable Link copied!

Type: boolean

Whether to enable Haskell formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.haskell.format.type Link copied!

Type: list of (one of "floskell", "fourmolu", "ormolu", "stylish-haskell")

Haskell formatter to use

Default: [ "ormolu" ]

vim.languages.haskell.lsp.enable Link copied!

Type: boolean

Whether to enable Haskell LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.haskell.lsp.servers Link copied!

Type: list of value "haskell-language-server" (singular enum)

Haskell LSP server to use

Default: [ "haskell-language-server" ]

vim.languages.haskell.treesitter.enable Link copied!

Type: boolean

Whether to enable Treesitter support for Haskell.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.haskell.treesitter.package Link copied!

Type: null or package

The haskell treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.haskell

vim.languages.hcl.enable Link copied!

Type: boolean

Whether to enable HCL support.

Default: false
Example: true

vim.languages.hcl.format.enable Link copied!

Type: boolean

Whether to enable HCL formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.hcl.format.type Link copied!

Type: list of (one of "hclfmt", "nomad-fmt")

HCL formatter to use

Default: [ "hclfmt" ]

vim.languages.hcl.lsp.enable Link copied!

Type: boolean

Whether to enable HCL LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.hcl.lsp.servers Link copied!

Type: list of ((one of "terraform-ls", "tofu-ls", "docker-language-server") or (one of "terraformls-hcl", "tofuls-hcl") convertible to it)

HCL LSP server to use

Default: [ "tofu-ls" ]

vim.languages.hcl.treesitter.enable Link copied!

Type: boolean

Whether to enable HCL treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.hcl.treesitter.package Link copied!

Type: null or package

The hcl treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.hcl

vim.languages.helm.enable Link copied!

Type: boolean

Whether to enable Helm language support.

Default: false
Example: true

vim.languages.helm.lsp.enable Link copied!

Type: boolean

Whether to enable Helm LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.helm.lsp.servers Link copied!

Type: list of value "helm-ls" (singular enum)

Helm LSP server to use

Default: [ "helm-ls" ]

vim.languages.helm.treesitter.enable Link copied!

Type: boolean

Whether to enable Helm treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.helm.treesitter.package Link copied!

Type: null or package

The helm treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.helm

vim.languages.html.enable Link copied!

Type: boolean

Whether to enable HTML language support.

Default: false
Example: true

vim.languages.html.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra HTML diagnostics via nvim-lint.

Default: config.vim.languages.enableExtraDiagnostics
Example: true

vim.languages.html.extraDiagnostics.types Link copied!

Type: list of value "htmlhint" (singular enum)

extra HTML diagnostics providers

Default: [ "htmlhint" ]

vim.languages.html.format.enable Link copied!

Type: boolean

Whether to enable HTML formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.html.format.type Link copied!

Type: (list of value "superhtml" (singular enum)) or value "superhtml" (singular enum) convertible to it

HTML formatter to use

Default: [ "superhtml" ]

vim.languages.html.lsp.enable Link copied!

Type: boolean

Whether to enable HTML LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.html.lsp.servers Link copied!

Type: list of (one of "superhtml", "emmet-ls", "angular-language-server", "stimulus-language-server")

HTML LSP server to use

Default: [ "superhtml" ]

vim.languages.html.treesitter.autotagHtml Link copied!

Type: boolean

Enable autoclose/autorename of html tags (nvim-ts-autotag)

Default: true

vim.languages.html.treesitter.enable Link copied!

Type: boolean

Whether to enable HTML treesitter support.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.html.treesitter.package Link copied!

Type: null or package

The html treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.html

vim.languages.java.dap.debugger Link copied!

Type: value "jls" (singular enum)

Java debugger to use.

JLS

For jls to work, you need to run your application with debug symbols and networking.

The jls configuration is hardcoded to listen on port 5005. This matches the configuration described upstream. You can change this by modifying vim.debugger.nvim-dap.sources.java-debugger.

vim.debugger.nvim-dap.sources.java-debugger = /* lua */ ''
  dap.adapters.jls= {
  type = 'executable',
  command = '/nix/store/9zh104c4m166z3iqrr7wd7apj9y5clb0-jls-0.7.0/bin/jls-dap',
}
dap.configurations.java = {
  {
    type = "jls",
    request = "attach",
    name = "Attach Auto",
    hostName = "localhost",
    port = 5005,
    sourceRoots = function()
      local matches = {}

      -- only look max 3 deep, due to performance reasons
      for _, pattern in ipairs({
        "src/main/java",
        "*/src/main/java",
        "*/*/src/main/java",
        "*/*/*/src/main/java",
      }) do
        vim.list_extend(matches, vim.fn.glob(pattern, true, true))
      end

      return matches
    end,
  },
  {
    type = "jls",
    request = "attach",
    name = "Attach Manual",
    hostName = "localhost",
    port = 5005,
    sourceRoots = function()
      local path = vim.fn.input(
        "Path to src/main/java: ",
        vim.fn.getcwd() .. "/",
        "dir"
      )

      if path == "" then
        return {}
      end

      return { vim.fn.fnamemodify(path, ":p") }
    end,
  },
}

'';

Examples:

  • Manual:
    1. Build with debug symbols.
      javac -g ...
    2. Run with debug socket.
      java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -jar your.jar
  • Springboot Maven: For Springboot you can just pass the JVM args directly into the spring-boot:run.
    mvn spring-boot:run -Dspring-boot.run.jvmArguments="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005"
Default: "jls"

vim.languages.java.dap.enable Link copied!

Type: boolean

Whether to enable Java Debug Adapter.

Default: config.vim.languages.enableDAP
Example: true

vim.languages.java.dap.package Link copied!

Type: package

Java debugger package.

Default: <derivation jls-0.7.0>

vim.languages.java.enable Link copied!

Type: boolean

Whether to enable Java language support.

Default: false
Example: true

vim.languages.java.extensions.gradle-nvim.enable Link copied!

Type: boolean

Whether to enable gradle integration.

Default: false
Example: true

vim.languages.java.extensions.gradle-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of gradle-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.languages.java.extensions.maven-nvim.enable Link copied!

Type: boolean

Whether to enable maven integration.

Default: false
Example: true

vim.languages.java.extensions.maven-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of maven-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.languages.java.lsp.enable Link copied!

Type: boolean

Whether to enable Java LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.java.lsp.servers Link copied!

Type: list of ((one of "jdt-language-server", "jls") or value "jdtls" (singular enum) convertible to it)

Java LSP server to use

Default: [ "jdt-language-server" ]

vim.languages.java.treesitter.enable Link copied!

Type: boolean

Whether to enable Java treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.java.treesitter.package Link copied!

Type: null or package

The java treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.java

vim.languages.jinja.enable Link copied!

Type: boolean

Whether to enable Jinja template language support.

Default: false
Example: true

vim.languages.jinja.lsp.enable Link copied!

Type: boolean

Whether to enable Jinja LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.jinja.lsp.servers Link copied!

Type: list of (one of "jinja-lsp", "emmet-ls", "stimulus-language-server")

Jinja LSP server to use

Default: [ "jinja-lsp" ]

vim.languages.jinja.treesitter.enable Link copied!

Type: boolean

Whether to enable Jinja treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.jinja.treesitter.injection Link copied!

Type: string

Treesitter language to inject in Jinja templates

Default: "html"

vim.languages.jinja.treesitter.inlinePackage Link copied!

Type: null or package

The jinja_inline treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.jinja_inline

vim.languages.jinja.treesitter.package Link copied!

Type: null or package

The jinja treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.jinja

vim.languages.jq.enable Link copied!

Type: boolean

Whether to enable JQ support.

Default: false
Example: true

vim.languages.jq.format.enable Link copied!

Type: boolean

Whether to enable JQ formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.jq.format.type Link copied!

Type: list of value "jqfmt" (singular enum)

JQ formatter to use

Default: [ "jqfmt" ]

vim.languages.jq.lsp.enable Link copied!

Type: boolean

Whether to enable JQ LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.jq.lsp.servers Link copied!

Type: list of value "jq-lsp" (singular enum)

JQ LSP server to use

Default: [ "jq-lsp" ]

vim.languages.jq.treesitter.enable Link copied!

Type: boolean

Whether to enable JQ treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.jq.treesitter.package Link copied!

Type: null or package

The jq treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.jq

vim.languages.json.enable Link copied!

Type: boolean

Whether to enable JSON language support.

Default: false
Example: true

vim.languages.json.format.enable Link copied!

Type: boolean

Whether to enable JSON formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.json.format.type Link copied!

Type: (list of (one of "jsonfmt", "prettier", "prettierd")) or (one of "jsonfmt", "prettier", "prettierd") convertible to it

JSON formatter to use

Default: [ "jsonfmt" ]

vim.languages.json.lsp.enable Link copied!

Type: boolean

Whether to enable JSON LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.json.lsp.servers Link copied!

Type: list of (value "vscode-json-language-server" (singular enum) or value "jsonls" (singular enum) convertible to it)

JSON LSP server to use

Default: [ "vscode-json-language-server" ]

vim.languages.json.treesitter.enable Link copied!

Type: boolean

Whether to enable JSON treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.json.treesitter.json5Package Link copied!

Type: null or package

The json5 treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.json5

vim.languages.json.treesitter.jsonPackage Link copied!

Type: null or package

The json treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.json

vim.languages.julia.enable Link copied!

Type: boolean

Whether to enable Julia language support.

Default: false
Example: true

vim.languages.julia.lsp.enable Link copied!

Type: boolean

Whether to enable Julia LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.julia.lsp.servers Link copied!

Type: list of (value "julia-languageserver" (singular enum) or value "julials" (singular enum) convertible to it)

Julia LSP Server to Use

Note

The entirety of Julia is bundled with nvf, if you enable this option, since there is no way to provide only the LSP server.

If you want to avoid that, you have to change vim.lsp.servers.julials.cmd to use the Julia binary in PATH, and add the LanguageServer package to Julia in your devshells.

Check the source file of this option for the full cmd.

Default: [ "julia-languageserver" ]

vim.languages.julia.treesitter.enable Link copied!

Type: boolean

Whether to enable Julia treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.julia.treesitter.package Link copied!

Type: null or package

The julia treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.julia

vim.languages.just.enable Link copied!

Type: boolean

Whether to enable Just support.

Default: false
Example: true

vim.languages.just.lsp.enable Link copied!

Type: boolean

Whether to enable Just LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.just.lsp.servers Link copied!

Type: list of value "just-lsp" (singular enum)

Just LSP server to use

Default: [ "just-lsp" ]

vim.languages.just.treesitter.enable Link copied!

Type: boolean

Whether to enable Just treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.just.treesitter.package Link copied!

Type: null or package

The just treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.just

vim.languages.kotlin.enable Link copied!

Type: boolean

Whether to enable Kotlin/HCL support.

Default: false
Example: true

vim.languages.kotlin.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Kotlin diagnostics via nvim-lint.

Default: config.vim.languages.enableExtraDiagnostics
Example: true

vim.languages.kotlin.extraDiagnostics.types Link copied!

Type: list of value "ktlint" (singular enum)

extra Kotlin diagnostics providers

Default: [ "ktlint" ]

vim.languages.kotlin.lsp.enable Link copied!

Type: boolean

Whether to enable Kotlin LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.kotlin.lsp.servers Link copied!

Type: list of value "kotlin-language-server" (singular enum)

Kotlin LSP server to use

Default: [ "kotlin-language-server" ]

vim.languages.kotlin.treesitter.enable Link copied!

Type: boolean

Whether to enable Kotlin treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.kotlin.treesitter.package Link copied!

Type: null or package

The kotlin treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.kotlin

vim.languages.liquid.enable Link copied!

Type: boolean

Whether to enable Liquid templating language support.

Default: false
Example: true

vim.languages.liquid.lsp.enable Link copied!

Type: boolean

Whether to enable Liquid LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.liquid.lsp.servers Link copied!

Type: list of value "emmet-ls" (singular enum)

Liquid LSP server to use

Default: [ ]

vim.languages.liquid.treesitter.enable Link copied!

Type: boolean

Whether to enable Liquid treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.liquid.treesitter.package Link copied!

Type: null or package

The liquid treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.liquid

vim.languages.lua.enable Link copied!

Type: boolean

Whether to enable Lua language support.

Default: false
Example: true

vim.languages.lua.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Lua diagnostics via nvim-lint.

Default: config.vim.languages.enableExtraDiagnostics
Example: true

vim.languages.lua.extraDiagnostics.types Link copied!

Type: list of (one of "luacheck", "selene")

extra Lua diagnostics providers

Default: [ "luacheck" ]

vim.languages.lua.format.enable Link copied!

Type: boolean

Enable Lua formatting

Default: config.vim.languages.enableFormat

vim.languages.lua.format.type Link copied!

Type: list of value "stylua" (singular enum)

Lua formatter to use

Default: [ "stylua" ]

vim.languages.lua.lsp.enable Link copied!

Type: boolean

Whether to enable Lua LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.lua.lsp.lazydev.enable Link copied!

Type: boolean

Whether to enable lazydev.nvim integration, useful for neovim plugin developers.

Default: false
Example: true

vim.languages.lua.lsp.servers Link copied!

Type: list of value "lua-language-server" (singular enum)

Lua LSP server to use

Default: [ "lua-language-server" ]

vim.languages.lua.treesitter.enable Link copied!

Type: boolean

Whether to enable Lua Treesitter support.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.lua.treesitter.package Link copied!

Type: null or package

The lua treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.lua

vim.languages.make.enable Link copied!

Type: boolean

Whether to enable Make support.

Default: false
Example: true

vim.languages.make.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Make diagnostics via nvim-lint.

Default: config.vim.languages.enableExtraDiagnostics
Example: true

vim.languages.make.extraDiagnostics.types Link copied!

Type: list of value "checkmake" (singular enum)

extra Make diagnostics providers

Default: [ "checkmake" ]

vim.languages.make.format.enable Link copied!

Type: boolean

Whether to enable Make formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.make.format.type Link copied!

Type: list of value "bake" (singular enum)

make formatter to use

Default: [ "bake" ]

vim.languages.make.treesitter.enable Link copied!

Type: boolean

Whether to enable Make treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.make.treesitter.package Link copied!

Type: null or package

The make treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.make

vim.languages.markdown.enable Link copied!

Type: boolean

Whether to enable Markdown markup language support.

Default: false
Example: true

vim.languages.markdown.extensions.markview-nvim.enable Link copied!

Type: boolean

markview.nvim - a hackable markdown, Typst, latex, html(inline) & YAML previewer

Default: false
Example: true

vim.languages.markdown.extensions.markview-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of markview-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.languages.markdown.extensions.render-markdown-nvim.enable Link copied!

Type: boolean

Inline Markdown rendering with render-markdown.nvim

Default: false
Example: true

vim.languages.markdown.extensions.render-markdown-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of render-markdown.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.languages.markdown.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Markdown diagnostics via nvim-lint.

Default: config.vim.languages.enableExtraDiagnostics
Example: true

vim.languages.markdown.extraDiagnostics.types Link copied!

Type: list of (one of "markdownlint-cli2", "rumdl")

extra Markdown diagnostics providers

Default: [ "markdownlint-cli2" ]

vim.languages.markdown.format.enable Link copied!

Type: boolean

Whether to enable Markdown formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.markdown.format.extraFiletypes Link copied!

Type: list of string

Extra filetypes to format with the Markdown formatter

Default: [ ]

vim.languages.markdown.format.type Link copied!

Type: (list of (one of "deno_fmt", "denofmt", "mdformat", "prettierd", "rumdl")) or (one of "deno_fmt", "denofmt", "mdformat", "prettierd", "rumdl") convertible to it

Markdown formatter to use. denofmt is deprecated and currently aliased to deno_fmt.

Default: [ "deno_fmt" ]

vim.languages.markdown.lsp.enable Link copied!

Type: boolean

Whether to enable Markdown LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.markdown.lsp.servers Link copied!

Type: list of (one of "marksman", "markdown-oxide", "rumdl")

Markdown LSP server to use

Default: [ "marksman" ]

vim.languages.markdown.treesitter.enable Link copied!

Type: boolean

Enable Markdown treesitter

Default: config.vim.languages.enableTreesitter

vim.languages.markdown.treesitter.mdInlinePackage Link copied!

Type: null or package

The markdown_inline treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.markdown_inline

vim.languages.markdown.treesitter.mdPackage Link copied!

Type: null or package

The markdown treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.markdown

vim.languages.nim.enable Link copied!

Type: boolean

Whether to enable Nim language support.

Default: false
Example: true

vim.languages.nim.format.enable Link copied!

Type: boolean

Whether to enable Nim formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.nim.format.type Link copied!

Type: (list of value "nimpretty" (singular enum)) or value "nimpretty" (singular enum) convertible to it

Nim formatter to use

Default: [ "nimpretty" ]

vim.languages.nim.lsp.enable Link copied!

Type: boolean

Whether to enable Nim LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.nim.lsp.servers Link copied!

Type: list of value "nimlsp" (singular enum)

Nim LSP server to use

Default: [ "nimlsp" ]

vim.languages.nim.treesitter.enable Link copied!

Type: boolean

Whether to enable Nim treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.nim.treesitter.package Link copied!

Type: null or package

The nim treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.nim

vim.languages.nix.enable Link copied!

Type: boolean

Whether to enable Nix language support.

Default: false
Example: true

vim.languages.nix.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Nix diagnostics via nvim-lint.

Default: config.vim.languages.enableExtraDiagnostics
Example: true

vim.languages.nix.extraDiagnostics.types Link copied!

Type: list of (one of "statix", "deadnix")

extra Nix diagnostics providers

Default: [ "statix" "deadnix" ]

vim.languages.nix.format.enable Link copied!

Type: boolean

Whether to enable Nix formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.nix.format.type Link copied!

Type: (list of (one of "alejandra", "nixfmt")) or (one of "alejandra", "nixfmt") convertible to it

Nix formatter to use

Default: [ "alejandra" ]

vim.languages.nix.lsp.enable Link copied!

Type: boolean

Whether to enable Nix LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.nix.lsp.servers Link copied!

Type: list of (one of "nil", "nixd")

Nix LSP server to use

Default: [ "nil" ]

vim.languages.nix.treesitter.enable Link copied!

Type: boolean

Whether to enable Nix treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.nix.treesitter.package Link copied!

Type: null or package

The nix treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.nix

vim.languages.nu.enable Link copied!

Type: boolean

Whether to enable Nu language support.

Default: false
Example: true

vim.languages.nu.lsp.enable Link copied!

Type: boolean

Whether to enable Nu LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.nu.lsp.servers Link copied!

Type: list of value "nushell" (singular enum)

Nu LSP server to use

Default: [ "nushell" ]

vim.languages.nu.treesitter.enable Link copied!

Type: boolean

Whether to enable Nu treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.nu.treesitter.package Link copied!

Type: null or package

The nu treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.nu

vim.languages.ocaml.enable Link copied!

Type: boolean

Whether to enable OCaml language support.

Default: false
Example: true

vim.languages.ocaml.format.enable Link copied!

Type: boolean

Whether to enable OCaml formatting support (ocamlformat).

Default: false
Example: true

vim.languages.ocaml.format.type Link copied!

Type: (list of value "ocamlformat" (singular enum)) or value "ocamlformat" (singular enum) convertible to it

OCaml formatter to use

Default: [ "ocamlformat" ]

vim.languages.ocaml.lsp.enable Link copied!

Type: boolean

Whether to enable OCaml LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.ocaml.lsp.servers Link copied!

Type: list of value "ocaml-lsp" (singular enum)

OCaml LSP server to use

Default: [ "ocaml-lsp" ]

vim.languages.ocaml.treesitter.enable Link copied!

Type: boolean

Whether to enable OCaml treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.ocaml.treesitter.package Link copied!

Type: null or package

The ocaml treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.ocaml

vim.languages.odin.dap.debugger Link copied!

Type: value "codelldb" (singular enum)

Odin debugger to use

Default: "codelldb"

vim.languages.odin.dap.enable Link copied!

Type: boolean

Whether to enable Enable Odin Debug Adapter.

Default: config.vim.languages.enableDAP
Example: true

vim.languages.odin.dap.package Link copied!

Type: package

Odin debugger package.

Default: <derivation lldb-21.1.8>

vim.languages.odin.enable Link copied!

Type: boolean

Whether to enable Odin language support.

Default: false
Example: true

vim.languages.odin.lsp.enable Link copied!

Type: boolean

Whether to enable Odin LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.odin.lsp.servers Link copied!

Type: list of value "ols" (singular enum)

Odin LSP server to use

Default: [ "ols" ]

vim.languages.odin.treesitter.enable Link copied!

Type: boolean

Whether to enable Odin treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.odin.treesitter.package Link copied!

Type: null or package

The odin treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.odin

vim.languages.openscad.enable Link copied!

Type: boolean

Whether to enable OpenSCAD language support.

Default: false
Example: true

vim.languages.openscad.lsp.enable Link copied!

Type: boolean

Whether to enable OpenSCAD LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.openscad.lsp.servers Link copied!

Type: list of value "openscad-lsp" (singular enum)

OpenSCAD LSP server to use

Default: [ "openscad-lsp" ]

vim.languages.php.dap.enable Link copied!

Type: boolean

Whether to enable Enable PHP Debug Adapter.

Default: config.vim.languages.enableDAP
Example: true

vim.languages.php.dap.xdebug.adapter Link copied!

Type: attribute set

XDebug adapter to use for nvim-dap

Default: { args = [ "\${pkgs.vscode-extensions.xdebug.php-debug}/share/vscode/extensions/xdebug.php-debug/out/phpDebug.js" ]; command = "\${pkgs.nodejs.out}/bin/node"; type = "executable"; }

vim.languages.php.dap.xdebug.port Link copied!

Type: signed integer

Port to use for XDebug

Default: 9003

vim.languages.php.enable Link copied!

Type: boolean

Whether to enable PHP language support.

Default: false
Example: true

vim.languages.php.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra PHP diagnostics via nvim-lint.

Default: config.vim.languages.enableExtraDiagnostics
Example: true

vim.languages.php.extraDiagnostics.types Link copied!

Type: list of value "phpstan" (singular enum)

extra PHP diagnostics providers

Default: [ "phpstan" ]

vim.languages.php.format.enable Link copied!

Type: boolean

Whether to enable PHP formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.php.format.type Link copied!

Type: list of value "php_cs_fixer" (singular enum)

PHP formatter to use

Default: [ "php_cs_fixer" ]

vim.languages.php.lsp.enable Link copied!

Type: boolean

Whether to enable PHP LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.php.lsp.servers Link copied!

Type: list of (one of "phpactor", "phan", "intelephense", "phpantom")

PHP LSP server to use

Default: [ "phpactor" ]

vim.languages.php.treesitter.enable Link copied!

Type: boolean

Whether to enable PHP treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.php.treesitter.package Link copied!

Type: null or package

The php treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.php

vim.languages.pug.enable Link copied!

Type: boolean

Whether to enable Pug language support.

Default: false
Example: true

vim.languages.pug.format.enable Link copied!

Type: boolean

Whether to enable Pug formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.pug.format.type Link copied!

Type: list of value "prettier" (singular enum)

Pug formatter to use

Default: [ "prettier" ]

vim.languages.pug.lsp.enable Link copied!

Type: boolean

Whether to enable Pug LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.pug.lsp.servers Link copied!

Type: list of value "emmet-ls" (singular enum)

Pug LSP server to use

Default: [ "emmet-ls" ]

vim.languages.pug.treesitter.enable Link copied!

Type: boolean

Whether to enable Pug treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.pug.treesitter.package Link copied!

Type: null or package

The pug treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.pug

vim.languages.python.dap.debugger Link copied!

Type: value "debugpy" (singular enum)

Python debugger to use

Default: "debugpy"

vim.languages.python.dap.enable Link copied!

Type: boolean

Enable Python Debug Adapter

Default: config.vim.languages.enableDAP

vim.languages.python.dap.package Link copied!

Type: package

Python debugger package. This is a python package with debugpy installed, see https://nixos.wiki/wiki/Python#Install_Python_Packages.

Default: <derivation python3-3.13.13-env>
Example: with pkgs; python39.withPackages (ps: with ps; [debugpy])

vim.languages.python.enable Link copied!

Type: boolean

Whether to enable Python language support.

Default: false
Example: true

vim.languages.python.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Python diagnostics via nvim-lint.

Default: config.vim.languages.enableExtraDiagnostics
Example: true

vim.languages.python.extraDiagnostics.types Link copied!

Type: list of value "mypy" (singular enum)

extra Python diagnostics providers

Default: [ "mypy" ]

vim.languages.python.format.enable Link copied!

Type: boolean

Whether to enable Python formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.python.format.type Link copied!

Type: (list of (one of "black", "black-and-isort", "isort", "ruff", "ruff-check")) or (one of "black", "black-and-isort", "isort", "ruff", "ruff-check") convertible to it

Python formatters to use

Default: [ "black" ]

vim.languages.python.lsp.enable Link copied!

Type: boolean

Whether to enable Python LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.python.lsp.servers Link copied!

Type: list of (one of "pyrefly", "pyright", "basedpyright", "python-lsp-server", "ruff", "ty", "zuban")

Python LSP server to use

Default: [ "basedpyright" ]

vim.languages.python.treesitter.enable Link copied!

Type: boolean

Whether to enable Python treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.python.treesitter.package Link copied!

Type: package

Python treesitter grammar to use

Default: <derivation vimplugin-nvim-treesitter-grammar-python-0.0.0+rev=v0.25.0>

vim.languages.qml.enable Link copied!

Type: boolean

Whether to enable QML language support.

Default: false
Example: true

vim.languages.qml.format.enable Link copied!

Type: boolean

Whether to enable QML formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.qml.format.type Link copied!

Type: (list of value "qmlformat" (singular enum)) or value "qmlformat" (singular enum) convertible to it

QML formatter to use

Default: [ "qmlformat" ]

vim.languages.qml.lsp.enable Link copied!

Type: boolean

Whether to enable QML LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.qml.lsp.servers Link copied!

Type: list of value "qmlls" (singular enum)

QML LSP server to use

Default: [ "qmlls" ]

vim.languages.qml.treesitter.enable Link copied!

Type: boolean

Whether to enable QML treesitter support.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.qml.treesitter.package Link copied!

Type: null or package

The qmljs treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.qmljs

vim.languages.r.enable Link copied!

Type: boolean

Whether to enable R language support.

Default: false
Example: true

vim.languages.r.format.enable Link copied!

Type: boolean

Whether to enable R formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.r.format.type Link copied!

Type: (list of (one of "format_r", "styler")) or (one of "format_r", "styler") convertible to it

R formatter to use

Default: [ "format_r" ]

vim.languages.r.lsp.enable Link copied!

Type: boolean

Whether to enable R LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.r.lsp.servers Link copied!

Type: list of (value "r-languageserver" (singular enum) or value "r_language_server" (singular enum) convertible to it)

R LSP server to use

Default: [ "r-languageserver" ]

vim.languages.r.treesitter.enable Link copied!

Type: boolean

Whether to enable R treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.r.treesitter.package Link copied!

Type: null or package

The r treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.r

vim.languages.ruby.enable Link copied!

Type: boolean

Whether to enable Ruby language support.

Default: false
Example: true

vim.languages.ruby.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable Ruby extra diagnostics via nvim-lint.

Default: false
Example: true

vim.languages.ruby.extraDiagnostics.types Link copied!

Type: list of value "rubocop" (singular enum)

extra Ruby diagnostics providers

Default: [ "rubocop" ]

vim.languages.ruby.format.enable Link copied!

Type: boolean

Whether to enable Ruby formatter support.

Default: false
Example: true

vim.languages.ruby.format.type Link copied!

Type: (list of value "rubocop" (singular enum)) or value "rubocop" (singular enum) convertible to it

Ruby formatter to use

Default: [ "rubocop" ]

vim.languages.ruby.lsp.enable Link copied!

Type: boolean

Whether to enable Ruby LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.ruby.lsp.servers Link copied!

Type: list of ((one of "ruby-lsp", "solargraph", "stimulus-language-server") or value "ruby_lsp" (singular enum) convertible to it)

Ruby LSP server to use

Default: [ "solargraph" ]

vim.languages.ruby.treesitter.enable Link copied!

Type: boolean

Whether to enable Ruby treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.ruby.treesitter.package Link copied!

Type: null or package

The ruby treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.ruby

vim.languages.rust.dap.adapter Link copied!

Type: one of "lldb-dap", "codelldb"

Select which LLDB-based debug adapter to use:

  • "codelldb": use the CodeLLDB adapter from the vadimcn.vscode-lldb extension.
  • "lldb-dap": use the LLDB DAP implementation shipped with LLVM (lldb-dap).

The default "codelldb" backend generally provides a better debugging experience for Rust.

Default: "codelldb"

vim.languages.rust.dap.enable Link copied!

Type: boolean

Rust Debug Adapter support

Default: config.vim.languages.enableDAP

vim.languages.rust.dap.package Link copied!

Type: package

lldb package

Default: <derivation lldb-21.1.8>

vim.languages.rust.enable Link copied!

Type: boolean

Whether to enable Rust language support.

Default: false
Example: true

vim.languages.rust.extensions.crates-nvim.enable Link copied!

Type: boolean

Whether to enable crates.io dependency management [crates-nvim].

Default: false
Example: true

vim.languages.rust.extensions.crates-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of crates-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.languages.rust.format.enable Link copied!

Type: boolean

Whether to enable Rust formatting.

Default: Disabled if Rust LSP is enabled, otherwise follows {option}`vim.languages.enableFormat`
Example: true

vim.languages.rust.format.type Link copied!

Type: (list of value "rustfmt" (singular enum)) or value "rustfmt" (singular enum) convertible to it

Rust formatter to use

Default: [ "rustfmt" ]

vim.languages.rust.lsp.enable Link copied!

Type: boolean

Whether to enable Rust LSP support (rust-analyzer with extra tools).

Default: config.vim.lsp.enable
Example: true

vim.languages.rust.lsp.opts Link copied!

Type: string

Options to pass to rust analyzer

Default: ""
Example:
''
  ['rust-analyzer'] = {
    cargo = {allFeature = true},
    checkOnSave = true,
    procMacro = {
      enable = true,
    },
  },
''

vim.languages.rust.lsp.package Link copied!

Type: package or list of string

rust-analyzer package, or the command to run as a list of strings

Default: <derivation rust-analyzer-2026-04-27>
Example: "[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"

vim.languages.rust.treesitter.enable Link copied!

Type: boolean

Whether to enable Rust treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.rust.treesitter.package Link copied!

Type: null or package

The rust treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.rust

vim.languages.scala.dap.config Link copied!

Type: luaInline

Lua configuration for dap

Default: { _type = "lua-inline"; expr = '' dap.configurations.scala = { { type = "scala", request = "launch", name = "RunOrTest", metals = { runType = "runOrTestFile", --args = { "firstArg", "secondArg", "thirdArg" }, -- here just as an example }, }, { type = "scala", request = "launch", name = "Test Target", metals = { runType = "testTarget", }, }, } ''; }

vim.languages.scala.dap.enable Link copied!

Type: boolean

Whether to enable Scala Debug Adapter support (metals).

Default: false
Example: true

vim.languages.scala.enable Link copied!

Type: boolean

Whether to enable Scala language support.

Default: false
Example: true

vim.languages.scala.fixShortmess Link copied!

Type: boolean

Remove the 'F' flag from shortmess to allow messages to be shown. Without doing this, autocommands that deal with filetypes prohibit messages from being shown

Default: true

vim.languages.scala.lsp.enable Link copied!

Type: boolean

Whether to enable Scala LSP support (metals).

Default: config.vim.lsp.enable
Example: true

vim.languages.scala.lsp.extraMappings.listCommands Link copied!

Type: null or string

List Metals commands

Default: "<leader>lc"

vim.languages.scala.lsp.extraSettings Link copied!

Type: attribute set of anything

Extra settings passed to the metals config. Check nvim-metals docs for available options

Default: { excludedPackages = [ "akka.actor.typed.javadsl" "com.github.swagger.akka.javadsl" ]; showImplicitArguments = true; showImplicitConversionsAndClasses = true; showInferredType = true; }

vim.languages.scala.lsp.package Link copied!

Type: package

The metals package to use.

Default: pkgs.metals

vim.languages.scala.treesitter.enable Link copied!

Type: boolean

Whether to enable Scala treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.scala.treesitter.package Link copied!

Type: null or package

The scala treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.scala

vim.languages.scss.enable Link copied!

Type: boolean

Whether to enable SCSS/SASS language support.

Default: false
Example: true

vim.languages.scss.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra SCSS/SASS diagnostics via nvim-lint.

Default: config.vim.languages.enableExtraDiagnostics
Example: true

vim.languages.scss.extraDiagnostics.types Link copied!

Type: list of value "stylelint" (singular enum)

extra SCSS/SASS diagnostics providers

Default: [ "stylelint" ]

vim.languages.scss.format.enable Link copied!

Type: boolean

Whether to enable SCSS/SASS formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.scss.format.type Link copied!

Type: list of (one of "prettier", "prettierd")

SCSS/SASS formatter to use

Default: [ "prettier" ]

vim.languages.scss.lsp.enable Link copied!

Type: boolean

Whether to enable SCSS/SASS LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.scss.lsp.servers Link copied!

Type: list of (one of "some-sass-language-server", "vscode-css-language-server", "emmet-ls")

SCSS/SASS LSP server to use

Default: [ "some-sass-language-server" ]

vim.languages.scss.treesitter.enable Link copied!

Type: boolean

Whether to enable SCSS/SASS treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.scss.treesitter.package Link copied!

Type: null or package

The scss treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.scss

vim.languages.sql.enable Link copied!

Type: boolean

Whether to enable SQL language support.

Default: false
Example: true

vim.languages.sql.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra SQL diagnostics via nvim-lint.

Default: config.vim.languages.enableExtraDiagnostics
Example: true

vim.languages.sql.extraDiagnostics.types Link copied!

Type: list of (one of "sqlfluff", "sqruff")

extra SQL diagnostics providers

Default: [ "sqlfluff" ]

vim.languages.sql.format.enable Link copied!

Type: boolean

Whether to enable SQL formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.sql.format.type Link copied!

Type: (list of (one of "sqlfluff", "sqruff")) or (one of "sqlfluff", "sqruff") convertible to it

SQL formatter to use

Default: [ "sqlfluff" ]

vim.languages.sql.lsp.enable Link copied!

Type: boolean

Whether to enable SQL LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.sql.lsp.servers Link copied!

Type: list of value "sqls" (singular enum)

SQL LSP server to use

Default: [ "sqls" ]

vim.languages.sql.treesitter.enable Link copied!

Type: boolean

Whether to enable SQL treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.sql.treesitter.package Link copied!

Type: package

SQL treesitter grammar to use

Default: <derivation vimplugin-nvim-treesitter-grammar-sql-0.0.0+rev=851e9cb>

vim.languages.standard-ml.enable Link copied!

Type: boolean

Whether to enable Standard ML support.

Default: false
Example: true

vim.languages.standard-ml.format.enable Link copied!

Type: boolean

Whether to enable Standard ML formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.standard-ml.format.type Link copied!

Type: list of value "smlfmt" (singular enum)

Standard ML formatter to use

Default: [ "smlfmt" ]

vim.languages.standard-ml.lsp.enable Link copied!

Type: boolean

Whether to enable Standard ML LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.standard-ml.lsp.servers Link copied!

Type: list of value "millet" (singular enum)

Standard ML LSP server to use

Default: [ "millet" ]

vim.languages.standard-ml.treesitter.enable Link copied!

Type: boolean

Whether to enable Standard ML treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.standard-ml.treesitter.package Link copied!

Type: null or package

The sml treesitter package to use.

Default: pkgs.tree-sitter-grammars.tree-sitter-sml

vim.languages.svelte.enable Link copied!

Type: boolean

Whether to enable Svelte language support.

Default: false
Example: true

vim.languages.svelte.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Svelte diagnostics via nvim-lint.

Default: config.vim.languages.enableExtraDiagnostics
Example: true

vim.languages.svelte.extraDiagnostics.types Link copied!

Type: list of value "eslint_d" (singular enum)

extra Svelte diagnostics providers

Default: [ "eslint_d" ]

vim.languages.svelte.format.enable Link copied!

Type: boolean

Whether to enable Svelte formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.svelte.format.type Link copied!

Type: (list of ((one of "biome", "prettier") or value "prettierd" (singular enum) convertible to it)) or ((one of "biome", "prettier") or value "prettierd" (singular enum) convertible to it) convertible to it

Svelte formatter to use

Default: [ "prettier" ]

vim.languages.svelte.lsp.enable Link copied!

Type: boolean

Whether to enable Svelte LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.svelte.lsp.servers Link copied!

Type: list of (one of "svelte-language-server", "emmet-ls")

Svelte LSP server to use

Default: [ "svelte-language-server" ]

vim.languages.svelte.treesitter.enable Link copied!

Type: boolean

Whether to enable Svelte treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.svelte.treesitter.sveltePackage Link copied!

Type: null or package

The svelte treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.svelte

vim.languages.tera.enable Link copied!

Type: boolean

Whether to enable Tera templating language support.

Default: false
Example: true

vim.languages.tera.lsp.enable Link copied!

Type: boolean

Whether to enable Tera LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.tera.lsp.servers Link copied!

Type: list of (one of "emmet-ls", "stimulus-language-server")

Tera LSP server to use

Default: [ ]

vim.languages.tera.treesitter.enable Link copied!

Type: boolean

Whether to enable Tera treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.tera.treesitter.injection Link copied!

Type: string

Treesitter language to inject in Tera templates

Default: "html"

vim.languages.tera.treesitter.package Link copied!

Type: null or package

The tera treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.tera

vim.languages.terraform.enable Link copied!

Type: boolean

Whether to enable Terraform support.

Default: false
Example: true

vim.languages.terraform.format.enable Link copied!

Type: boolean

Whether to enable Enable Terraform formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.terraform.format.type Link copied!

Type: list of (one of "terraform-fmt", "tofu-fmt")

Terraform formatter to use

Default: [ "tofu-fmt" ]

vim.languages.terraform.lsp.enable Link copied!

Type: boolean

Whether to enable Terraform LSP support (terraform-ls).

Default: config.vim.lsp.enable
Example: true

vim.languages.terraform.lsp.servers Link copied!

Type: list of ((one of "terraform-ls", "tofu-ls") or (one of "terraformls-tf", "tofuls-tf") convertible to it)

Terraform LSP server to use

Default: [ "tofu-ls" ]

vim.languages.terraform.treesitter.enable Link copied!

Type: boolean

Whether to enable Terraform treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.terraform.treesitter.package Link copied!

Type: null or package

The terraform treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.terraform

vim.languages.tex.enable Link copied!

Type: boolean

Whether to enable TeX language support.

Default: false
Example: true

vim.languages.tex.format.enable Link copied!

Type: boolean

Whether to enable TeX formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.tex.format.type Link copied!

Type: list of (one of "latexindent", "tex-fmt")

TeX formatter to use

Default: [ "tex-fmt" ]

vim.languages.tex.lsp.enable Link copied!

Type: boolean

Whether to enable TeX LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.tex.lsp.servers Link copied!

Type: list of value "texlab" (singular enum)

TeX LSP server to use

Default: [ "texlab" ]

vim.languages.tex.treesitter.bibtexPackage Link copied!

Type: null or package

The bibtex treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.bibtex

vim.languages.tex.treesitter.enable Link copied!

Type: boolean

Enable TeX treesitter

Default: config.vim.languages.enableTreesitter

vim.languages.tex.treesitter.latexPackage Link copied!

Type: null or package

The latex treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.latex

vim.languages.toml.enable Link copied!

Type: boolean

Whether to enable TOML configuration language support.

Default: false
Example: true

vim.languages.toml.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra TOML diagnostics via nvim-lint.

Default: config.vim.languages.enableExtraDiagnostics
Example: true

vim.languages.toml.extraDiagnostics.types Link copied!

Type: list of (one of "tombi", "taplo")

extra TOML diagnostics providers

Default: [ "tombi" ]

vim.languages.toml.format.enable Link copied!

Type: boolean

Whether to enable TOML formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.toml.format.type Link copied!

Type: (list of (one of "taplo", "tombi")) or (one of "taplo", "tombi") convertible to it

TOML formatter to use.

Default: [ "taplo" ]

vim.languages.toml.lsp.enable Link copied!

Type: boolean

Whether to enable TOML LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.toml.lsp.servers Link copied!

Type: list of (one of "taplo", "tombi")

TOML LSP server to use

Default: [ "taplo" ]

vim.languages.toml.treesitter.enable Link copied!

Type: boolean

Whether to enable TOML treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.toml.treesitter.package Link copied!

Type: null or package

The toml treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.toml

vim.languages.tsx.enable Link copied!

Type: boolean

Whether to enable Typescript XML (TSX) language support.

Default: false
Example: true

vim.languages.tsx.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Typescript XML (TSX) diagnostics via nvim-lint.

Default: false
Example: true

vim.languages.tsx.extraDiagnostics.types Link copied!

Type: list of value "biomejs" (singular enum)

extra Typescript XML (TSX) diagnostics providers

Default: [ "biomejs" ]

vim.languages.tsx.format.enable Link copied!

Type: boolean

Whether to enable Typescript XML (TSX) formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.tsx.format.type Link copied!

Type: list of (one of "biome", "biome-check", "biome-organize-imports", "prettier", "prettierd")

Typescript XML (TSX) formatter to use

Default: [ "prettier" ]

vim.languages.tsx.lsp.enable Link copied!

Type: boolean

Whether to enable Typescript XML (TSX) LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.tsx.lsp.servers Link copied!

Type: list of (one of "typescript-language-server", "deno", "typescript-go", "emmet-ls")

Typescript XML (TSX) LSP server to use

Default: [ "typescript-language-server" ]

vim.languages.tsx.treesitter.enable Link copied!

Type: boolean

Whether to enable Typescript XML (TSX) treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.tsx.treesitter.package Link copied!

Type: null or package

The tsx treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.tsx

vim.languages.twig.enable Link copied!

Type: boolean

Whether to enable Twig templating language support.

Default: false
Example: true

vim.languages.twig.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Twig diagnostics via nvim-lint.

Default: config.vim.languages.enableExtraDiagnostics
Example: true

vim.languages.twig.extraDiagnostics.types Link copied!

Type: list of value "djlint" (singular enum)

extra Twig diagnostics providers

Default: [ "djlint" ]

vim.languages.twig.format.enable Link copied!

Type: boolean

Whether to enable PHP formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.twig.format.type Link copied!

Type: list of value "djlint" (singular enum)

Twig formatter to use

Default: [ "djlint" ]

vim.languages.twig.lsp.enable Link copied!

Type: boolean

Whether to enable Twig LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.twig.lsp.servers Link copied!

Type: list of (one of "twig-language-server", "emmet-ls", "stimulus-language-server")

Twig LSP server to use

Default: [ "twig-language-server" ]

vim.languages.twig.treesitter.enable Link copied!

Type: boolean

Whether to enable Twig treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.twig.treesitter.package Link copied!

Type: null or package

The twig treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.twig

vim.languages.typescript.enable Link copied!

Type: boolean

Whether to enable Typescript/Javascript language support.

Default: false
Example: true

vim.languages.typescript.extensions.ts-error-translator.enable Link copied!

Type: boolean

Whether to enable [ts-error-translator.nvim]: https://github.com/dmmulroy/ts-error-translator.nvim

Typescript error translation with [ts-error-translator.nvim]

.

Default: false
Example: true

vim.languages.typescript.extensions.ts-error-translator.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of ts-error-translator.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.languages.typescript.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Typescript/Javascript diagnostics.

Default: false
Example: true

vim.languages.typescript.extraDiagnostics.types Link copied!

Type: list of (one of "eslint_d", "biomejs")

extra Typescript/Javascript diagnostics providers

Default: [ "eslint_d" ]

vim.languages.typescript.format.enable Link copied!

Type: boolean

Whether to enable Typescript/Javascript formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.typescript.format.type Link copied!

Type: list of (one of "biome", "biome-check", "biome-organize-imports", "prettier", "prettierd")

Typescript/Javascript formatter to use

Default: [ "prettier" ]

vim.languages.typescript.lsp.enable Link copied!

Type: boolean

Whether to enable Typescript/Javascript LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.typescript.lsp.servers Link copied!

Type: list of ((one of "typescript-language-server", "deno", "typescript-go", "angular-language-server", "emmet-ls") or (one of "denols", "ts_ls", "tsgo") convertible to it)

Typescript/Javascript LSP server to use

Default: [ "typescript-language-server" ]

vim.languages.typescript.treesitter.enable Link copied!

Type: boolean

Whether to enable Typescript/Javascript treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.typescript.treesitter.jsPackage Link copied!

Type: null or package

The javascript treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.javascript

vim.languages.typescript.treesitter.tsPackage Link copied!

Type: null or package

The typescript treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.typescript

vim.languages.typst.enable Link copied!

Type: boolean

Whether to enable Typst language support.

Default: false
Example: true

vim.languages.typst.extensions.typst-concealer.enable Link copied!

Type: boolean

Whether to enable [typst-concealer]: https://github.com/PartyWumpus/typst-concealer

Inline typst preview for Neovim via [typst-concealer] .

Default: false
Example: true

vim.languages.typst.extensions.typst-concealer.mappings.toggleConcealing Link copied!

Type: null or string

Enable typst-concealer in buffer

Default: "<leader>TT"

vim.languages.typst.extensions.typst-concealer.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of typst-concealer.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.languages.typst.extensions.typst-preview-nvim.enable Link copied!

Type: boolean

Whether to enable [typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim

Low latency typst preview for Neovim via [typst-preview.nvim] .

Default: true
Example: true

vim.languages.typst.extensions.typst-preview-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of typst-preview-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.languages.typst.format.enable Link copied!

Type: boolean

Whether to enable Typst document formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.typst.format.type Link copied!

Type: (list of value "typstyle" (singular enum)) or value "typstyle" (singular enum) convertible to it

Typst formatter to use

Default: [ "typstyle" ]

vim.languages.typst.lsp.enable Link copied!

Type: boolean

Whether to enable Typst LSP support (typst-lsp).

Default: config.vim.lsp.enable
Example: true

vim.languages.typst.lsp.servers Link copied!

Type: list of value "tinymist" (singular enum)

Typst LSP server to use

Default: [ "tinymist" ]

vim.languages.typst.treesitter.enable Link copied!

Type: boolean

Whether to enable Typst treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.typst.treesitter.package Link copied!

Type: null or package

The typst treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.typst

vim.languages.vala.enable Link copied!

Type: boolean

Whether to enable Vala language support.

Default: false
Example: true

vim.languages.vala.lsp.enable Link copied!

Type: boolean

Whether to enable Vala LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.vala.lsp.servers Link copied!

Type: list of (value "vala-language-server" (singular enum) or value "vala_ls" (singular enum) convertible to it)

Vala LSP server to use

Default: [ "vala-language-server" ]

vim.languages.vala.treesitter.enable Link copied!

Type: boolean

Whether to enable Vala treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.vala.treesitter.package Link copied!

Type: null or package

The vala treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.vala

vim.languages.vhdl.enable Link copied!

Type: boolean

Whether to enable VHDL language support.

Default: false
Example: true

vim.languages.vhdl.lsp.enable Link copied!

Type: boolean

Whether to enable VHDL LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.vhdl.lsp.servers Link copied!

Type: list of value "vhdl-ls" (singular enum)

VHDL LSP server to use

Default: [ "vhdl-ls" ]

vim.languages.vhdl.treesitter.enable Link copied!

Type: boolean

Whether to enable VHDL treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.vhdl.treesitter.package Link copied!

Type: null or package

The vhdl treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.vhdl

vim.languages.vue.enable Link copied!

Type: boolean

Whether to enable Vue.js language support.

Default: false
Example: true

vim.languages.vue.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Vue.js diagnostics via nvim-lint.

Default: config.vim.languages.enableExtraDiagnostics
Example: true

vim.languages.vue.extraDiagnostics.types Link copied!

Type: list of value "biomejs" (singular enum)

extra Vue.js diagnostics providers

Default: [ "biomejs" ]

vim.languages.vue.format.enable Link copied!

Type: boolean

Whether to enable Vue.js formatting.

Default: config.vim.languages.enableFormat
Example: true

vim.languages.vue.format.type Link copied!

Type: list of (one of "biome", "biome-check", "biome-organize-imports")

Vue.js formatter to use.

Default: [ "biome" "biome-check" "biome-organize-imports" ]

vim.languages.vue.lsp.enable Link copied!

Type: boolean

Whether to enable Vue.js LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.vue.lsp.servers Link copied!

Type: list of (one of "vue-language-server", "vtsls", "typescript-language-server", "emmet-ls")

Vue.js LSP server to use

Default: [ "vue-language-server" "vtsls" ]

vim.languages.vue.treesitter.enable Link copied!

Type: boolean

Whether to enable Vue.js treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.vue.treesitter.package Link copied!

Type: null or package

The vue treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.vue

vim.languages.wgsl.enable Link copied!

Type: boolean

Whether to enable WGSL language support.

Default: false
Example: true

vim.languages.wgsl.lsp.enable Link copied!

Type: boolean

Whether to enable WGSL LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.wgsl.lsp.servers Link copied!

Type: list of value "wgsl-analyzer" (singular enum)

WGSL LSP server to use

Default: [ "wgsl-analyzer" ]

vim.languages.wgsl.treesitter.enable Link copied!

Type: boolean

Whether to enable WGSL treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.wgsl.treesitter.package Link copied!

Type: null or package

The wgsl treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.wgsl

vim.languages.xml.enable Link copied!

Type: boolean

Whether to enable XML language support.

Default: false
Example: true

vim.languages.xml.lsp.enable Link copied!

Type: boolean

Whether to enable XML LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.xml.lsp.servers Link copied!

Type: list of value "lemminx" (singular enum)

XML LSP server to use

Default: [ "lemminx" ]

vim.languages.xml.treesitter.enable Link copied!

Type: boolean

Whether to enable XML treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.xml.treesitter.package Link copied!

Type: null or package

The xml treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.xml

vim.languages.yaml.enable Link copied!

Type: boolean

Whether to enable YAML language support.

Default: false
Example: true

vim.languages.yaml.lsp.enable Link copied!

Type: boolean

Whether to enable Yaml LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.yaml.lsp.servers Link copied!

Type: list of value "yaml-language-server" (singular enum)

Yaml LSP server to use

Default: [ "yaml-language-server" ]

vim.languages.yaml.treesitter.enable Link copied!

Type: boolean

Whether to enable YAML treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.yaml.treesitter.package Link copied!

Type: null or package

The yaml treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.yaml

vim.languages.zig.dap.debugger Link copied!

Type: value "lldb-vscode" (singular enum)

Zig debugger to use

Default: "lldb-vscode"

vim.languages.zig.dap.enable Link copied!

Type: boolean

Enable Zig Debug Adapter

Default: config.vim.languages.enableDAP

vim.languages.zig.dap.package Link copied!

Type: package

Zig debugger package.

Default: <derivation lldb-21.1.8>

vim.languages.zig.enable Link copied!

Type: boolean

Whether to enable Zig language support.

Default: false
Example: true

vim.languages.zig.lsp.enable Link copied!

Type: boolean

Whether to enable Zig LSP support.

Default: config.vim.lsp.enable
Example: true

vim.languages.zig.lsp.servers Link copied!

Type: list of value "zls" (singular enum)

Zig LSP server to use

Default: [ "zls" ]

vim.languages.zig.treesitter.enable Link copied!

Type: boolean

Whether to enable Zig treesitter.

Default: config.vim.languages.enableTreesitter
Example: true

vim.languages.zig.treesitter.package Link copied!

Type: null or package

The zig treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.grammarPlugins.zig

vim.lazy.enable Link copied!

Type: boolean

Whether to enable plugin lazy-loading via lz.n and lzn-auto-require.

Default: true
Example: true

vim.lazy.enableLznAutoRequire Link copied!

Type: boolean

Enable lzn-auto-require. Since builtin plugins rely on this, only turn off for debugging.

Default: true

vim.lazy.loader Link copied!

Type: value "lz.n" (singular enum)

Lazy loader to use

Default: "lz.n"

vim.lazy.plugins Link copied!

Type: attribute set of (submodule)

Plugins to lazy load.

The attribute key is used as the plugin name: for the default vim.g.lz_n.load function this should be either the package.pname or package.name.

Default: { }
Example:
''
  {
    toggleterm-nvim = {
      package = "toggleterm-nvim";
      setupModule = "toggleterm";
      setupOpts = cfg.setupOpts;
  
      after = "require('toggleterm').do_something()";
      cmd = ["ToggleTerm"];
    };
  
    $''${pkgs.vimPlugins.vim-bbye.pname} = {
      package = pkgs.vimPlugins.vim-bbye;
      cmd = ["Bdelete" "Bwipeout"];
    };
  }
''

vim.lazy.plugins.<name>.after Link copied!

Type: null or strings concatenated with "\n"

Lua code to run after plugin is loaded. This will be wrapped in a function.

If vim.lazy.plugins.name.setupModule is provided, the setup will be ran before after.

Default: null

vim.lazy.plugins.<name>.before Link copied!

Type: null or strings concatenated with "\n"

Lua code to run before plugin is loaded. This will be wrapped in a function.

Default: null

vim.lazy.plugins.<name>.beforeAll Link copied!

Type: null or strings concatenated with "\n"

Lua code to run before any plugins are loaded. This will be wrapped in a function.

Default: null

vim.lazy.plugins.<name>.beforeSetup Link copied!

Type: null or strings concatenated with "\n"

Lua code to run after the plugin is loaded, but before the setup function is called.

Default: null

vim.lazy.plugins.<name>.cmd Link copied!

Type: null or string or list of string

Lazy-load on command

Default: null

vim.lazy.plugins.<name>.colorscheme Link copied!

Type: null or string or list of string

Lazy-load on colorscheme.

Default: null

vim.lazy.plugins.<name>.enabled Link copied!

Type: null or boolean or (luaInline)

When false, or if the Lua function returns false, this plugin will not be included in the spec.

Default: null

vim.lazy.plugins.<name>.event Link copied!

Type: null or string or (submodule) or list of (string or (submodule))

Lazy-load on event

Default: null

vim.lazy.plugins.<name>.ft Link copied!

Type: null or string or list of string

Lazy-load on filetype

Default: null

vim.lazy.plugins.<name>.keys Link copied!

Type: null or string or list of (submodule) or list of string

Lazy-load on key mapping

Default: null
Example:
''
  keys = [
    {
      mode = "n";
      key = "<leader>s";
      action = ":DapStepOver<cr>";
      desc = "DAP Step Over";
    }
    {
      mode = ["n", "x"];
      key = "<leader>dc";
      action = "function() require('dap').continue() end";
      lua = true;
      desc = "DAP Continue";
    }
  ]
''

vim.lazy.plugins.<name>.lazy Link copied!

Type: null or boolean

Force enable/disable lazy-loading. null means only lazy-load if a valid lazy-load condition is set e.g. cmd, ft, keys etc.

Default: null

vim.lazy.plugins.<name>.load Link copied!

Type: null or strings concatenated with "\n"

Lua code to override the vim.g.lz_n.load() function for a single plugin.

This will be wrapped in a function(name) ... end.

Default: null

vim.lazy.plugins.<name>.package Link copied!

Type: null or null or package or one of "blink-cmp", "aerial-nvim", "alpha-nvim", "avante-nvim", "base16", "blink-cmp-spell", "blink-compat", "blink-emoji-nvim", "blink-indent", "blink-ripgrep-nvim", "bufdelete-nvim", "bufferline-nvim", "catppuccin", "ccc-nvim", "cellular-automaton-nvim", "chatgpt-nvim", "cheatsheet-nvim", "cinnamon-nvim", "cmp-buffer", "cmp-luasnip", "cmp-nvim-lsp", "cmp-path", "cmp-treesitter", "codecompanion-nvim", "codewindow-nvim", "colorful-menu-nvim", "comment-nvim", "conform-nvim", "copilot-cmp", "copilot-lua", "crates-nvim", "crazy-coverage", "csharpls-extended-lsp-nvim", "csvview-nvim", "dashboard-nvim", "diffview-nvim", "direnv-vim", "dracula", "dressing-nvim", "elixir-tools-nvim", "everforest", "fastaction-nvim", "fidget-nvim", "flash-nvim", "fluent-nvim", "flutter-tools-nvim", "friendly-snippets", "fzf-lua", "gesture-nvim", "git-conflict-nvim", "github", "gitlinker-nvim", "gitsigns-nvim", "glow-nvim", "gopher-nvim", "gradle-nvim", "gruber-darker", "grug-far-nvim", "gruvbox", "hardtime-nvim", "harpoon", "haskell-tools-nvim", "highlight-undo-nvim", "hlargs-nvim", "hop.nvim", "hunk-nvim", "hydra-nvim", "icon-picker-nvim", "image-nvim", "img-clip", "indent-blankline-nvim", "lazydev-nvim", "leap-nvim", "leetcode-nvim", "lsp-signature-nvim", "lspkind-nvim", "lspsaga-nvim", "lua-utils-nvim", "lualine-nvim", "luasnip", "lz-n", "lzn-auto-require", "markview-nvim", "maven-nvim", "mellow", "mini-ai", "mini-align", "mini-animate", "mini-base16", "mini-basics", "mini-bracketed", "mini-bufremove", "mini-clue", "mini-colors", "mini-comment", "mini-completion", "mini-cursorword", "mini-diff", "mini-doc", "mini-extra", "mini-files", "mini-fuzzy", "mini-git", "mini-hipatterns", "mini-hues", "mini-icons", "mini-indentscope", "mini-jump", "mini-jump2d", "mini-map", "mini-misc", "mini-move", "mini-notify", "mini-operators", "mini-pairs", "mini-pick", "mini-sessions", "mini-snippets", "mini-splitjoin", "mini-starter", "mini-statusline", "mini-surround", "mini-tabline", "mini-test", "mini-trailspace", "mini-visits", "minimap-vim", "mkdir-nvim", "modes-nvim", "multicursors-nvim", "neo-tree-nvim", "neocodeium", "neocord", "neogit", "neorg", "neorg-telescope", "neovim-session-manager", "new-file-template-nvim", "nix-develop-nvim", "noice-nvim", "none-ls-nvim", "nord", "nui-nvim", "nvim-autopairs", "nvim-biscuits", "nvim-cmp", "nvim-colorizer-lua", "nvim-cursorline", "nvim-dap", "nvim-dap-go", "nvim-dap-odin", "nvim-dap-ui", "nvim-docs-view", "nvim-highlight-colors", "nvim-lightbulb", "nvim-lint", "nvim-lspconfig", "nvim-metals", "nvim-navbuddy", "nvim-navic", "nvim-neoclip-lua", "nvim-nio", "nvim-notify", "nvim-scrollbar", "nvim-surround", "nvim-tree-lua", "nvim-treesitter-context", "nvim-treesitter-textobjects", "nvim-ts-autotag", "nvim-ufo", "nvim-web-devicons", "obsidian-nvim", "oil-git-status.nvim", "oil-nvim", "omnisharp-extended-lsp-nvim", "onedark", "orgmode", "otter-nvim", "oxocarbon", "pathlib-nvim", "plenary-nvim", "precognition-nvim", "prettier-plugin-astro", "prettier-plugin-pug", "prettier-plugin-svelte", "project-nvim", "promise-async", "qmk-nvim", "rainbow-delimiters-nvim", "registers-nvim", "render-markdown-nvim", "rose-pine", "roslyn-nvim", "rtp-nvim", "run-nvim", "rustaceanvim", "smart-splits", "smartcolumn-nvim", "snacks-nvim", "solarized", "solarized-osaka", "sqls-nvim", "supermaven-nvim", "syntax-gaslighting", "tabular", "telescope", "tiny-devicons-auto-colors-nvim", "todo-comments-nvim", "toggleterm-nvim", "tokyonight", "trouble", "ts-error-translator-nvim", "typst-concealer", "typst-preview-nvim", "undotree", "vim-dirtytalk", "vim-fugitive", "vim-illuminate", "vim-markdown", "vim-repeat", "vim-sleuth", "vim-startify", "vim-wakatime", "which-key-nvim", "yanky-nvim", "nvim-treesitter", "flutter-tools-patched", "vim-repeat"

Plugin package.

If null, a custom load function must be provided

Default: null

vim.lazy.plugins.<name>.priority Link copied!

Type: null or signed integer

Only useful for stat plugins (not lazy-loaded) to force loading certain plugins first.

Default: null

vim.lazy.plugins.<name>.setupCond Link copied!

Type: null or strings concatenated with "\n"

A Lua expression used as the condition for calling setup. When set, the setup call is wrapped as if (condition) then ... end, allowing runtime-conditional plugin initialization.

For example, "not vim.g.vscode" will only call setup when not running inside VSCode with vscode-neovim.

Default: null

vim.lazy.plugins.<name>.setupModule Link copied!

Type: null or string

Lua module to run setup function on.

Default: null

vim.lazy.plugins.<name>.setupOpts Link copied!

Type: (attribute set of anything) or (luaInline)

Options to pass to the setup function.

Accepts either an attribute set or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

Default: { }

vim.lineNumberMode Link copied!

Type: one of "relative", "number", "relNumber", "none"

How line numbers are displayed.

Default: "relNumber"
Example: "none"

vim.lsp.enable Link copied!

Type: boolean

Whether to enable global LSP functionality for Neovim.

This option controls whether to enable LSP functionality within modules under vim.languages. You do not need to set this to true for language servers defined in vim.lsp.servers to take effect, since they are enabled automatically. .

Default: false
Example: true

vim.lsp.formatOnSave Link copied!

Type: boolean

Whether to enable format on save.

Default: false
Example: true

vim.lsp.inlayHints.enable Link copied!

Type: boolean

Whether to enable inlay hints.

Default: false
Example: true

vim.lsp.lightbulb.autocmd.enable Link copied!

Type: boolean

Whether to enable updating lightbulb glyph automatically.

Default: true
Example: true

vim.lsp.lightbulb.autocmd.events Link copied!

Type: list of string

Events on which to update nvim-lightbulb glyphs

Default: [ "CursorHold" "CursorHoldI" ]

vim.lsp.lightbulb.autocmd.pattern Link copied!

Type: string or (luaInline)

File patterns or buffer names to match, determining which files or buffers trigger glyph updates.

Default: "*"

vim.lsp.lightbulb.enable Link copied!

Type: boolean

Whether to enable Lightbulb for code actions. Requires an emoji font.

Default: false
Example: true

vim.lsp.lightbulb.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of nvim-lightbulb.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.lsp.lspSignature.enable Link copied!

Type: boolean

Whether to enable lsp signature viewer.

Default: false
Example: true

vim.lsp.lspSignature.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of lsp-signature.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.lsp.lspconfig.enable Link copied!

Type: boolean

Whether to enable nvim-lspconfig, also enabled automatically.

Default: false
Example: true

vim.lsp.lspconfig.sources Link copied!

Type: attribute set of string

nvim-lspconfig sources

Default: { }

vim.lsp.lspkind.enable Link copied!

Type: boolean

Whether to enable vscode-like pictograms for lsp [lspkind].

Default: false
Example: true

vim.lsp.lspkind.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of lspkind.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.lsp.lspsaga.enable Link copied!

Type: boolean

Whether to enable LSP Saga.

Default: false
Example: true

vim.lsp.lspsaga.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of lspsaga.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.lsp.mappings.addWorkspaceFolder Link copied!

Type: null or string

Add workspace folder

Default: "<leader>lwa"

vim.lsp.mappings.codeAction Link copied!

Type: null or string

Code action

Default: "<leader>la"

vim.lsp.mappings.documentHighlight Link copied!

Type: null or string

Document highlight

Default: "<leader>lH"

vim.lsp.mappings.format Link copied!

Type: null or string

Format

Default: "<leader>lf"

vim.lsp.mappings.goToDeclaration Link copied!

Type: null or string

Go to declaration

Default: "<leader>lgD"

vim.lsp.mappings.goToDefinition Link copied!

Type: null or string

Go to definition

Default: "<leader>lgd"

vim.lsp.mappings.goToType Link copied!

Type: null or string

Go to type

Default: "<leader>lgt"

vim.lsp.mappings.hover Link copied!

Type: null or string

Trigger hover

Default: "<leader>lh"

vim.lsp.mappings.listDocumentSymbols Link copied!

Type: null or string

List document symbols

Default: "<leader>lS"

vim.lsp.mappings.listImplementations Link copied!

Type: null or string

List implementations

Default: "<leader>lgi"

vim.lsp.mappings.listReferences Link copied!

Type: null or string

List references

Default: "<leader>lgr"

vim.lsp.mappings.listWorkspaceFolders Link copied!

Type: null or string

List workspace folders

Default: "<leader>lwl"

vim.lsp.mappings.listWorkspaceSymbols Link copied!

Type: null or string

List workspace symbols

Default: "<leader>lws"

vim.lsp.mappings.nextDiagnostic Link copied!

Type: null or string

Go to next diagnostic

Default: "<leader>lgn"

vim.lsp.mappings.openDiagnosticFloat Link copied!

Type: null or string

Open diagnostic float

Default: "<leader>le"

vim.lsp.mappings.previousDiagnostic Link copied!

Type: null or string

Go to previous diagnostic

Default: "<leader>lgp"

vim.lsp.mappings.removeWorkspaceFolder Link copied!

Type: null or string

Remove workspace folder

Default: "<leader>lwr"

vim.lsp.mappings.renameSymbol Link copied!

Type: null or string

Rename symbol

Default: "<leader>ln"

vim.lsp.mappings.signatureHelp Link copied!

Type: null or string

Signature help

Default: "<leader>ls"

vim.lsp.mappings.toggleFormatOnSave Link copied!

Type: null or string

Toggle format on save

Default: "<leader>ltf"

vim.lsp.null-ls.enable Link copied!

Type: boolean

Whether to enable null-ls, plugin to use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua. .

Default: false
Example: true

vim.lsp.null-ls.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of null-ls.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.lsp.nvim-docs-view.enable Link copied!

Type: boolean

Whether to enable nvim-docs-view, for displaying lsp hover documentation in a side panel..

Default: false
Example: true

vim.lsp.nvim-docs-view.mappings.viewToggle Link copied!

Type: null or string

Open or close the docs view panel

Default: "<leader>lvt"

vim.lsp.nvim-docs-view.mappings.viewUpdate Link copied!

Type: null or string

Manually update the docs view panel

Default: "<leader>lvu"

vim.lsp.nvim-docs-view.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of nvim-docs-view.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.lsp.otter-nvim.enable Link copied!

Type: boolean

Whether to enable lsp features and a code completion source for code embedded in other documents [otter-nvim] .

Default: false
Example: true

vim.lsp.otter-nvim.mappings.toggle Link copied!

Type: null or string

Activate LSP on Cursor Position [otter-nvim]

Default: "<leader>lo"

vim.lsp.otter-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of otter.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.lsp.presets.angular-language-server.enable Link copied!

Type: boolean

Whether to enable the Angular Template Language Server. Default filetypes = [ ]. Use vim.lsp.servers.angular-language-server for customization .

Default: false
Example: true

vim.lsp.presets.arduino-language-server.enable Link copied!

Type: boolean

Whether to enable the Arduino Language Server. Default filetypes = [ ]. Use vim.lsp.servers.arduino-language-server for customization .

Default: false
Example: true

vim.lsp.presets.asm-lsp.enable Link copied!

Type: boolean

Whether to enable the Assembly Language Server. Default filetypes = [ ]. Use vim.lsp.servers.asm-lsp for customization .

Default: false
Example: true

vim.lsp.presets.astro-language-server.enable Link copied!

Type: boolean

Whether to enable the Astro Language Server. Default filetypes = [ ]. Use vim.lsp.servers.astro-language-server for customization .

Default: false
Example: true

vim.lsp.presets.basedpyright.enable Link copied!

Type: boolean

Whether to enable the Based Pyright Language Server. Default filetypes = [ ]. Use vim.lsp.servers.basedpyright for customization .

Default: false
Example: true

vim.lsp.presets.bash-language-server.enable Link copied!

Type: boolean

Whether to enable the Bash Language Server. Default filetypes = [ ]. Use vim.lsp.servers.bash-language-server for customization .

Default: false
Example: true

vim.lsp.presets.ccls.enable Link copied!

Type: boolean

Whether to enable the CC Language Server. Default filetypes = [ ]. Use vim.lsp.servers.ccls for customization .

Default: false
Example: true

vim.lsp.presets.clangd.enable Link copied!

Type: boolean

Whether to enable the Clangd Language Server. Default filetypes = [ ]. Use vim.lsp.servers.clangd for customization .

Default: false
Example: true

vim.lsp.presets.clojure-lsp.enable Link copied!

Type: boolean

Whether to enable the Clojure Language Server. Default filetypes = [ ]. Use vim.lsp.servers.clojure-lsp for customization .

Default: false
Example: true

vim.lsp.presets.csharp_ls.enable Link copied!

Type: boolean

Whether to enable the C# Language Server. Default filetypes = [ ]. Use vim.lsp.servers.csharp_ls for customization .

Default: false
Example: true

vim.lsp.presets.cue.enable Link copied!

Type: boolean

Whether to enable the Cue Language Server. Default filetypes = [ ]. Use vim.lsp.servers.cue for customization .

Default: false
Example: true

vim.lsp.presets.dart.enable Link copied!

Type: boolean

Whether to enable the Dart Language Server. Default filetypes = [ ]. Use vim.lsp.servers.dart for customization .

Default: false
Example: true

vim.lsp.presets.deno.enable Link copied!

Type: boolean

Whether to enable the Deno Language Server. Default filetypes = [ ]. Use vim.lsp.servers.deno for customization .

Default: false
Example: true

vim.lsp.presets.docker-language-server.enable Link copied!

Type: boolean

Whether to enable the Docker Language Server. Default filetypes = [ ]. Use vim.lsp.servers.docker-language-server for customization .

Default: false
Example: true

vim.lsp.presets.elixir-ls.enable Link copied!

Type: boolean

Whether to enable the Elixir Language Server. Default filetypes = [ ]. Use vim.lsp.servers.elixir-ls for customization .

Default: false
Example: true

vim.lsp.presets.elm-language-server.enable Link copied!

Type: boolean

Whether to enable the Elm Language Server. Default filetypes = [ ]. Use vim.lsp.servers.elm-language-server for customization .

Default: false
Example: true

vim.lsp.presets.emmet-ls.enable Link copied!

Type: boolean

Whether to enable the Emmet Language Server. Default filetypes = [ ]. Use vim.lsp.servers.emmet-ls for customization .

Default: false
Example: true

vim.lsp.presets.fish-lsp.enable Link copied!

Type: boolean

Whether to enable the Fish Language Server. Default filetypes = [ ]. Use vim.lsp.servers.fish-lsp for customization .

Default: false
Example: true

vim.lsp.presets.fsautocomplete.enable Link copied!

Type: boolean

Whether to enable the F# Autocomplete Language Server. Default filetypes = [ ]. Use vim.lsp.servers.fsautocomplete for customization .

Default: false
Example: true

vim.lsp.presets.gleam.enable Link copied!

Type: boolean

Whether to enable the Gleam Language Server. Default filetypes = [ ]. Use vim.lsp.servers.gleam for customization .

Default: false
Example: true

vim.lsp.presets.glsl_analyzer.enable Link copied!

Type: boolean

Whether to enable the GLSL Analyzer Language Server. Default filetypes = [ ]. Use vim.lsp.servers.glsl_analyzer for customization .

Default: false
Example: true

vim.lsp.presets.gopls.enable Link copied!

Type: boolean

Whether to enable the Go Language Server. Default filetypes = [ ]. Use vim.lsp.servers.gopls for customization .

Default: false
Example: true

vim.lsp.presets.harper.enable Link copied!

Type: boolean

Whether to enable the Harper Language Server. Default filetypes = [ "asciidoc" "c" "clojure" "cmake" "cpp" "cs" "daml" "dart" "gitcommit" "go" "haskell" "html" "ink" "java" "javascript" "javascriptreact" "kotlin" "lhaskell" "lua" "mail" "markdown" "nix" "php" "python" "ruby" "rust" ]. Use vim.lsp.servers.harper for customization .

Default: false
Example: true

vim.lsp.presets.haskell-language-server.enable Link copied!

Type: boolean

Whether to enable the Haskell Language Server. Default filetypes = [ ]. Use vim.lsp.servers.haskell-language-server for customization .

Default: false
Example: true

vim.lsp.presets.helm-ls.enable Link copied!

Type: boolean

Whether to enable the Helm Language Server. Default filetypes = [ ]. Use vim.lsp.servers.helm-ls for customization .

Default: false
Example: true

vim.lsp.presets.intelephense.enable Link copied!

Type: boolean

Whether to enable the Intelephense Language Server. Default filetypes = [ ]. Use vim.lsp.servers.intelephense for customization .

Default: false
Example: true

vim.lsp.presets.jdt-language-server.enable Link copied!

Type: boolean

Whether to enable the Eclipse JDT Language Server. Default filetypes = [ ]. Use vim.lsp.servers.jdt-language-server for customization .

Default: false
Example: true

vim.lsp.presets.jinja-lsp.enable Link copied!

Type: boolean

Whether to enable the Jinja Language Server. Default filetypes = [ ]. Use vim.lsp.servers.jinja-lsp for customization .

Default: false
Example: true

vim.lsp.presets.jls.enable Link copied!

Type: boolean

Whether to enable the NeoVim Java Language Server. Default filetypes = [ ]. Use vim.lsp.servers.jls for customization .

Default: false
Example: true

vim.lsp.presets.jq-lsp.enable Link copied!

Type: boolean

Whether to enable the JQ Language Server. Default filetypes = [ ]. Use vim.lsp.servers.jq-lsp for customization .

Default: false
Example: true

vim.lsp.presets.julia-languageserver.enable Link copied!

Type: boolean

Whether to enable the Julia Language Server. Default filetypes = [ ]. Use vim.lsp.servers.julia-languageserver for customization .

Default: false
Example: true

vim.lsp.presets.just-lsp.enable Link copied!

Type: boolean

Whether to enable the Just Language Server. Default filetypes = [ ]. Use vim.lsp.servers.just-lsp for customization .

Default: false
Example: true

vim.lsp.presets.kotlin-language-server.enable Link copied!

Type: boolean

Whether to enable the Kotlin Language Server. Default filetypes = [ ]. Use vim.lsp.servers.kotlin-language-server for customization .

Default: false
Example: true

vim.lsp.presets.lemminx.enable Link copied!

Type: boolean

Whether to enable the Lemminx Language Server. Default filetypes = [ ]. Use vim.lsp.servers.lemminx for customization .

Default: false
Example: true

vim.lsp.presets.lua-language-server.enable Link copied!

Type: boolean

Whether to enable the Lua Language Server. Default filetypes = [ ]. Use vim.lsp.servers.lua-language-server for customization .

Default: false
Example: true

vim.lsp.presets.markdown-oxide.enable Link copied!

Type: boolean

Whether to enable the Markdown Oxide Language Server. Default filetypes = [ ]. Use vim.lsp.servers.markdown-oxide for customization .

Default: false
Example: true

vim.lsp.presets.marksman.enable Link copied!

Type: boolean

Whether to enable the Marksman Language Server. Default filetypes = [ ]. Use vim.lsp.servers.marksman for customization .

Default: false
Example: true

vim.lsp.presets.millet.enable Link copied!

Type: boolean

Whether to enable the Millet Standard ML Language Server. Default filetypes = [ ]. Use vim.lsp.servers.millet for customization .

Default: false
Example: true

vim.lsp.presets.neocmakelsp.enable Link copied!

Type: boolean

Whether to enable the NeoCmake Language Server. Default filetypes = [ ]. Use vim.lsp.servers.neocmakelsp for customization .

Default: false
Example: true

vim.lsp.presets.nil.enable Link copied!

Type: boolean

Whether to enable the Nil Language Server. Default filetypes = [ ]. Use vim.lsp.servers.nil for customization .

Default: false
Example: true

vim.lsp.presets.nimlsp.enable Link copied!

Type: boolean

Whether to enable the Nim Language Server. Default filetypes = [ ]. Use vim.lsp.servers.nimlsp for customization .

Default: false
Example: true

vim.lsp.presets.nixd.enable Link copied!

Type: boolean

Whether to enable the Nixd Language Server. Default filetypes = [ ]. Use vim.lsp.servers.nixd for customization .

Default: false
Example: true

vim.lsp.presets.nushell.enable Link copied!

Type: boolean

Whether to enable the NuShell Language Server. Default filetypes = [ ]. Use vim.lsp.servers.nushell for customization .

Default: false
Example: true

vim.lsp.presets.ocaml-lsp.enable Link copied!

Type: boolean

Whether to enable the OCaml Language Server. Default filetypes = [ ]. Use vim.lsp.servers.ocaml-lsp for customization .

Default: false
Example: true

vim.lsp.presets.ols.enable Link copied!

Type: boolean

Whether to enable the Odin Language Server. Default filetypes = [ ]. Use vim.lsp.servers.ols for customization .

Default: false
Example: true

vim.lsp.presets.omnisharp.enable Link copied!

Type: boolean

Whether to enable the OmniSharp Roslyn Language Server. Default filetypes = [ ]. Use vim.lsp.servers.omnisharp for customization .

Default: false
Example: true

vim.lsp.presets.openscad-lsp.enable Link copied!

Type: boolean

Whether to enable the Open SCAD Language Server. Default filetypes = [ ]. Use vim.lsp.servers.openscad-lsp for customization .

Default: false
Example: true

vim.lsp.presets.phan.enable Link copied!

Type: boolean

Whether to enable the Phan Language Server. Default filetypes = [ ]. Use vim.lsp.servers.phan for customization .

Default: false
Example: true

vim.lsp.presets.phpactor.enable Link copied!

Type: boolean

Whether to enable the PHPActor Language Server. Default filetypes = [ ]. Use vim.lsp.servers.phpactor for customization .

Default: false
Example: true

vim.lsp.presets.phpantom.enable Link copied!

Type: boolean

Whether to enable the PHPantom Language Server. Default filetypes = [ ]. Use vim.lsp.servers.phpantom for customization .

Default: false
Example: true

vim.lsp.presets.pyrefly.enable Link copied!

Type: boolean

Whether to enable the Pyrefly Language Server. Default filetypes = [ ]. Use vim.lsp.servers.pyrefly for customization .

Default: false
Example: true

vim.lsp.presets.pyright.enable Link copied!

Type: boolean

Whether to enable the Pyright Language Server. Default filetypes = [ ]. Use vim.lsp.servers.pyright for customization .

Default: false
Example: true

vim.lsp.presets.python-lsp-server.enable Link copied!

Type: boolean

Whether to enable the Python Language Server. Default filetypes = [ ]. Use vim.lsp.servers.python-lsp-server for customization .

Default: false
Example: true

vim.lsp.presets.qmlls.enable Link copied!

Type: boolean

Whether to enable the QML Language Server. Default filetypes = [ ]. Use vim.lsp.servers.qmlls for customization .

Default: false
Example: true

vim.lsp.presets.r-languageserver.enable Link copied!

Type: boolean

Whether to enable the R Language Server. Default filetypes = [ ]. Use vim.lsp.servers.r-languageserver for customization .

Default: false
Example: true

vim.lsp.presets.roslyn-ls.enable Link copied!

Type: boolean

Whether to enable the Roslyn Language Server. Default filetypes = [ ]. Use vim.lsp.servers.roslyn-ls for customization .

Default: false
Example: true

vim.lsp.presets.ruby-lsp.enable Link copied!

Type: boolean

Whether to enable the Ruby Language Server. Default filetypes = [ ]. Use vim.lsp.servers.ruby-lsp for customization .

Default: false
Example: true

vim.lsp.presets.ruff.enable Link copied!

Type: boolean

Whether to enable the Ruff Language Server. Default filetypes = [ ]. Use vim.lsp.servers.ruff for customization .

Default: false
Example: true

vim.lsp.presets.rumdl.enable Link copied!

Type: boolean

Whether to enable the Rumdl Language Server. Default filetypes = [ ]. Use vim.lsp.servers.rumdl for customization .

Default: false
Example: true

vim.lsp.presets.solargraph.enable Link copied!

Type: boolean

Whether to enable the Solargraph Language Server. Default filetypes = [ ]. Use vim.lsp.servers.solargraph for customization .

Default: false
Example: true

vim.lsp.presets.some-sass-language-server.enable Link copied!

Type: boolean

Whether to enable the Some Sass Language Server. Default filetypes = [ ]. Use vim.lsp.servers.some-sass-language-server for customization .

Default: false
Example: true

vim.lsp.presets.sqls.enable Link copied!

Type: boolean

Whether to enable the SQL Language Server. Default filetypes = [ ]. Use vim.lsp.servers.sqls for customization .

Default: false
Example: true

vim.lsp.presets.stimulus-language-server.enable Link copied!

Type: boolean

Whether to enable the Stimulus Language Server. Default filetypes = [ ]. Use vim.lsp.servers.stimulus-language-server for customization .

Default: false
Example: true

vim.lsp.presets.superhtml.enable Link copied!

Type: boolean

Whether to enable the SuperHTML Language Server. Default filetypes = [ ]. Use vim.lsp.servers.superhtml for customization .

Default: false
Example: true

vim.lsp.presets.svelte-language-server.enable Link copied!

Type: boolean

Whether to enable the Svelte Language Server. Default filetypes = [ ]. Use vim.lsp.servers.svelte-language-server for customization .

Default: false
Example: true

vim.lsp.presets.tailwindcss-language-server.enable Link copied!

Type: boolean

Whether to enable the Tailwind CSS Language Server. Default filetypes = [ "aspnetcorerazor" "astro" "astro-markdown" "blade" "clojure" "django-html" "htmldjango" "edge" "eelixir" "elixir" "ejs" "erb" "eruby" "gohtml" "gohtmltmpl" "haml" "handlebars" "hbs" "html" "htmlangular" "html-eex" "heex" "jade" "leaf" "liquid" "markdown" "mdx" "mustache" "njk" "nunjucks" "php" "razor" "slim" "twig" "css" "less" "postcss" "sass" "scss" "stylus" "sugarss" "javascript" "javascriptreact" "reason" "rescript" "typescript" "typescriptreact" "vue" "svelte" "templ" ]. Use vim.lsp.servers.tailwindcss-language-server for customization .

Default: false
Example: true

vim.lsp.presets.taplo.enable Link copied!

Type: boolean

Whether to enable the Taplo Language Server. Default filetypes = [ ]. Use vim.lsp.servers.taplo for customization .

Default: false
Example: true

vim.lsp.presets.terraform-ls.enable Link copied!

Type: boolean

Whether to enable the Terraform Language Server. Default filetypes = [ ]. Use vim.lsp.servers.terraform-ls for customization .

Default: false
Example: true

vim.lsp.presets.texlab.enable Link copied!

Type: boolean

Whether to enable the TeXLab Language Server. Default filetypes = [ ]. Use vim.lsp.servers.texlab for customization .

Default: false
Example: true

vim.lsp.presets.tinymist.enable Link copied!

Type: boolean

Whether to enable the Tinymist Language Server. Default filetypes = [ ]. Use vim.lsp.servers.tinymist for customization .

Default: false
Example: true

vim.lsp.presets.tofu-ls.enable Link copied!

Type: boolean

Whether to enable the OpenTofu Language Server. Default filetypes = [ ]. Use vim.lsp.servers.tofu-ls for customization .

Default: false
Example: true

vim.lsp.presets.tombi.enable Link copied!

Type: boolean

Whether to enable the Tombi (AI Slop) Language Server. Default filetypes = [ ]. Use vim.lsp.servers.tombi for customization .

Default: false
Example: true

vim.lsp.presets.twig-language-server.enable Link copied!

Type: boolean

Whether to enable the Twig Language Server. Default filetypes = [ ]. Use vim.lsp.servers.twig-language-server for customization .

Default: false
Example: true

vim.lsp.presets.ty.enable Link copied!

Type: boolean

Whether to enable the ty Language Server. Default filetypes = [ ]. Use vim.lsp.servers.ty for customization .

Default: false
Example: true

vim.lsp.presets.typescript-go.enable Link copied!

Type: boolean

Whether to enable the experimental TypeScript Go Language Server. Default filetypes = [ ]. Use vim.lsp.servers.typescript-go for customization .

Default: false
Example: true

vim.lsp.presets.typescript-language-server.enable Link copied!

Type: boolean

Whether to enable the TypeScript Language Server. Default filetypes = [ ]. Use vim.lsp.servers.typescript-language-server for customization .

Default: false
Example: true

vim.lsp.presets.vala-language-server.enable Link copied!

Type: boolean

Whether to enable the Vala Language Server. Default filetypes = [ ]. Use vim.lsp.servers.vala-language-server for customization .

Default: false
Example: true

vim.lsp.presets.vhdl-ls.enable Link copied!

Type: boolean

Whether to enable the VHDL Language Server. Default filetypes = [ ]. Use vim.lsp.servers.vhdl-ls for customization .

Default: false
Example: true

vim.lsp.presets.vscode-css-language-server.enable Link copied!

Type: boolean

Whether to enable the VSCode CSS Language Server. Default filetypes = [ ]. Use vim.lsp.servers.vscode-css-language-server for customization .

Default: false
Example: true

vim.lsp.presets.vscode-json-language-server.enable Link copied!

Type: boolean

Whether to enable the VSCode JSON Language Server. Default filetypes = [ ]. Use vim.lsp.servers.vscode-json-language-server for customization .

Default: false
Example: true

vim.lsp.presets.vtsls.enable Link copied!

Type: boolean

Whether to enable the Vue.js Typescript Language Server. Default filetypes = [ ]. Use vim.lsp.servers.vtsls for customization .

Default: false
Example: true

vim.lsp.presets.vue-language-server.enable Link copied!

Type: boolean

Whether to enable the Vue.js Language Server.

This LSP doesn't work standalone and requires either vim.lsp.presets.vtsls.enable or vim.lsp.presets.typescript-language-server.enable to work as expected.

Default filetypes = [ ].
Use vim.lsp.servers.vue-language-server for customization .

Default: false
Example: true

vim.lsp.presets.wgsl-analyzer.enable Link copied!

Type: boolean

Whether to enable the WGSL Analyzer Language Server. Default filetypes = [ ]. Use vim.lsp.servers.wgsl-analyzer for customization .

Default: false
Example: true

vim.lsp.presets.yaml-language-server.enable Link copied!

Type: boolean

Whether to enable the YAML Language Server. Default filetypes = [ ]. Use vim.lsp.servers.yaml-language-server for customization .

Default: false
Example: true

vim.lsp.presets.zls.enable Link copied!

Type: boolean

Whether to enable the Zig Language Server. Default filetypes = [ ]. Use vim.lsp.servers.zls for customization .

Default: false
Example: true

vim.lsp.presets.zuban.enable Link copied!

Type: boolean

Whether to enable the Zuban Language Server. Default filetypes = [ ]. Use vim.lsp.servers.zuban for customization .

Default: false
Example: true

vim.lsp.servers Link copied!

Type: attribute set of (open submodule of attribute set of anything)

LSP configurations that will be managed using vim.lsp.config() and related utilities added in Neovim 0.11. LSPs defined here will be added to the resulting init.lua using vim.lsp.config and enabled through vim.lsp.enable() API from Neovim below the configuration table.

You may review the generated configuration by running nvf-print-config in a shell. Please see :help lsp-config for more details on the underlying API.

Default: { }
Example:
''
  {
    "*" = {
      root_markers = [".git"];
      capabilities = {
        textDocument = {
          semanticTokens = {
            multilineTokenSupport = true;
          };
        };
      };
    };
  
    "clangd" = {
      filetypes = ["c"];
    };
  }
''

vim.lsp.servers.<name>.capabilities Link copied!

Type: null or (luaInline) or attribute set of anything

LSP capabilities to pass to LSP server configuration

Default: null

vim.lsp.servers.<name>.cmd Link copied!

Type: null or (luaInline) or list of string

Command used to start the LSP server

Default: null

vim.lsp.servers.<name>.enable Link copied!

Type: boolean

Whether to enable this LSP server.

Default: true

vim.lsp.servers.<name>.filetypes Link copied!

Type: null or (list of string)

Filetypes to auto-attach LSP server in

Default: null

vim.lsp.servers.<name>.on_attach Link copied!

Type: null or (luaInline)

Function to execute when an LSP server attaches to a buffer

Default: null

vim.lsp.servers.<name>.root_markers Link copied!

Type: null or (list of string)

"root markers" used to determine the root directory of the workspace, and the filetypes associated with this LSP server.

Default: null

vim.lsp.trouble.enable Link copied!

Type: boolean

Whether to enable trouble diagnostics viewer.

Default: false
Example: true

vim.lsp.trouble.mappings.documentDiagnostics Link copied!

Type: null or string

Document diagnostics [trouble]

Default: "<leader>ld"

vim.lsp.trouble.mappings.locList Link copied!

Type: null or string

LOCList [trouble]

Default: "<leader>xl"

vim.lsp.trouble.mappings.lspReferences Link copied!

Type: null or string

LSP References [trouble]

Default: "<leader>lr"

vim.lsp.trouble.mappings.quickfix Link copied!

Type: null or string

QuickFix [trouble]

Default: "<leader>xq"

vim.lsp.trouble.mappings.symbols Link copied!

Type: null or string

Symbols [trouble]

Default: "<leader>xs"

vim.lsp.trouble.mappings.workspaceDiagnostics Link copied!

Type: null or string

Workspace diagnostics [trouble]

Default: "<leader>lwd"

vim.lsp.trouble.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of Trouble.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.luaConfigPost Link copied!

Type: string

Verbatim lua code that will be inserted after the result of the luaConfigRc DAG has been resolved

This option does not take a DAG set, but a string instead. Useful when you'd like to insert contents of lua configs after the DAG result.

Default: ""
Example: ${builtins.readFile ./my-lua-config-post.lua}

vim.luaConfigPre Link copied!

Type: string

Verbatim lua code that will be inserted before the result of luaConfigRc DAG has been resolved.

This option does not take a DAG set, but a string instead. Useful when you'd like to insert contents of lua configs after the DAG result.

Warning

You do not want to override this option with mkForce It is used internally to set certain options as early as possible and should be avoided unless you know what you're doing. Passing a string to this option will merge it with the default contents.

Default: By default, this option will **append** paths in {option}`vim.additionalRuntimePaths` to the `runtimepath` and enable the experimental Lua module loader if {option}`vim.enableLuaLoader` is set to true.
Example: ${builtins.readFile ./my-lua-config-pre.lua}

vim.luaConfigRC Link copied!

Type: (DAG of strings concatenated with "\n") or string

Lua configuration, either as a string or a DAG.

If this option is passed as a DAG, it will be resolved according to the DAG resolution rules (e.g. entryBefore or entryAfter) as per the nvf extended library.

Default: { }
Example:
```lua
-- Set the tab size to 4 spaces
vim.opt.tabstop = 4
vim.opt.shiftwidth = 4
vim.opt.expandtab = true
```

vim.luaPackages Link copied!

Type: list of string

List of Lua packages to install

Default: [ ]
Example: "[\"magick\" \"serpent\"]"

vim.mini.ai.enable Link copied!

Type: boolean

Whether to enable mini.ai.

Default: false
Example: true

vim.mini.ai.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.ai.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.align.enable Link copied!

Type: boolean

Whether to enable mini.align.

Default: false
Example: true

vim.mini.align.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.align.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.animate.enable Link copied!

Type: boolean

Whether to enable mini.animate.

Default: false
Example: true

vim.mini.animate.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.animate.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.basics.enable Link copied!

Type: boolean

Whether to enable mini.basics.

Default: false
Example: true

vim.mini.basics.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.basics.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.bracketed.enable Link copied!

Type: boolean

Whether to enable mini.bracketed.

Default: false
Example: true

vim.mini.bracketed.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.bracketed.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.bufremove.enable Link copied!

Type: boolean

Whether to enable mini.bufremove.

Default: false
Example: true

vim.mini.bufremove.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.bufremove.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.clue.enable Link copied!

Type: boolean

Whether to enable mini.clue.

Default: false
Example: true

vim.mini.clue.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.clue.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.colors.enable Link copied!

Type: boolean

Whether to enable mini.colors.

Default: false
Example: true

vim.mini.comment.enable Link copied!

Type: boolean

Whether to enable mini.comment.

Default: false
Example: true

vim.mini.comment.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.comment.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.completion.enable Link copied!

Type: boolean

Whether to enable mini.completion.

Default: false
Example: true

vim.mini.completion.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.completion.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.cursorword.enable Link copied!

Type: boolean

Whether to enable mini.cursorword.

Default: false
Example: true

vim.mini.cursorword.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.cursorword.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.diff.enable Link copied!

Type: boolean

Whether to enable mini.diff.

Default: false
Example: true

vim.mini.diff.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.diff.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.doc.enable Link copied!

Type: boolean

Whether to enable mini.doc.

Default: false
Example: true

vim.mini.doc.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.doc.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.extra.enable Link copied!

Type: boolean

Whether to enable mini.extra.

Default: false
Example: true

vim.mini.files.enable Link copied!

Type: boolean

Whether to enable mini.files.

Default: false
Example: true

vim.mini.files.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.files.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.fuzzy.enable Link copied!

Type: boolean

Whether to enable mini.fuzzy.

Default: false
Example: true

vim.mini.fuzzy.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.fuzzy.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.git.enable Link copied!

Type: boolean

Whether to enable mini.git.

Default: false
Example: true

vim.mini.git.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.git.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.hipatterns.enable Link copied!

Type: boolean

Whether to enable mini.hipatterns.

Default: false
Example: true

vim.mini.hipatterns.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.hipatterns.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.hues.enable Link copied!

Type: boolean

Whether to enable mini.hues.

Default: false
Example: true

vim.mini.hues.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.hues.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.icons.enable Link copied!

Type: boolean

Whether to enable mini.icons.

Default: false
Example: true

vim.mini.icons.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.icons.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.indentscope.enable Link copied!

Type: boolean

Whether to enable mini.indentscope.

Default: false
Example: true

vim.mini.indentscope.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.indentscope.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.jump.enable Link copied!

Type: boolean

Whether to enable mini.jump.

Default: false
Example: true

vim.mini.jump.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.jump.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.jump2d.enable Link copied!

Type: boolean

Whether to enable mini.jump2d.

Default: false
Example: true

vim.mini.jump2d.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.jump2d.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.map.enable Link copied!

Type: boolean

Whether to enable mini.map.

Default: false
Example: true

vim.mini.map.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.map.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.misc.enable Link copied!

Type: boolean

Whether to enable mini.misc.

Default: false
Example: true

vim.mini.misc.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.misc.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.move.enable Link copied!

Type: boolean

Whether to enable mini.move.

Default: false
Example: true

vim.mini.move.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.move.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.notify.enable Link copied!

Type: boolean

Whether to enable mini.notify.

Default: false
Example: true

vim.mini.notify.notifyOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.notify notifications.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.notify.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.notify.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.operators.enable Link copied!

Type: boolean

Whether to enable mini.operators.

Default: false
Example: true

vim.mini.operators.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.operators.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.pairs.enable Link copied!

Type: boolean

Whether to enable mini.pairs.

Default: false
Example: true

vim.mini.pairs.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.pairs.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.pick.enable Link copied!

Type: boolean

Whether to enable mini.pick.

Default: false
Example: true

vim.mini.pick.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.pick.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.sessions.enable Link copied!

Type: boolean

Whether to enable mini.sessions.

Default: false
Example: true

vim.mini.sessions.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.sessions.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.snippets.enable Link copied!

Type: boolean

Whether to enable mini.snippets.

Default: false
Example: true

vim.mini.snippets.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.snippets.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.splitjoin.enable Link copied!

Type: boolean

Whether to enable mini.splitjoin.

Default: false
Example: true

vim.mini.splitjoin.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.splitjoin.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.starter.enable Link copied!

Type: boolean

Whether to enable mini.starter.

Default: false
Example: true

vim.mini.starter.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.starter.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.statusline.enable Link copied!

Type: boolean

Whether to enable mini.statusline.

Default: false
Example: true

vim.mini.statusline.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.statusline.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.surround.enable Link copied!

Type: boolean

Whether to enable mini.surround.

Default: false
Example: true

vim.mini.surround.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.surround.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.tabline.enable Link copied!

Type: boolean

Whether to enable mini.tabline.

Default: false
Example: true

vim.mini.tabline.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.tabline.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.test.enable Link copied!

Type: boolean

Whether to enable mini.test.

Default: false
Example: true

vim.mini.test.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.test.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.trailspace.enable Link copied!

Type: boolean

Whether to enable mini.trailspace.

Default: false
Example: true

vim.mini.trailspace.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.trailspace.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.mini.visits.enable Link copied!

Type: boolean

Whether to enable mini.visits.

Default: false
Example: true

vim.mini.visits.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of mini.visits.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.minimap.codewindow.enable Link copied!

Type: boolean

Whether to enable codewindow plugin for minimap view.

Default: false
Example: true

vim.minimap.codewindow.mappings.close Link copied!

Type: null or string

Close minimap [codewindow]

Default: "<leader>mc"

vim.minimap.codewindow.mappings.open Link copied!

Type: null or string

Open minimap [codewindow]

Default: "<leader>mo"

vim.minimap.codewindow.mappings.toggle Link copied!

Type: null or string

Toggle minimap [codewindow]

Default: "<leader>mm"

vim.minimap.codewindow.mappings.toggleFocus Link copied!

Type: null or string

Toggle minimap focus [codewindow]

Default: "<leader>mf"

vim.minimap.codewindow.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of codewindow.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.minimap.minimap-vim.enable Link copied!

Type: boolean

Whether to enable minimap view [minimap-vim].

Default: false
Example: true

vim.navigation.harpoon.enable Link copied!

Type: boolean

Whether to enable Quick bookmarks on keybinds [Harpoon].

Default: false
Example: true

vim.navigation.harpoon.mappings.file1 Link copied!

Type: null or string

Go to marked file 1 [Harpoon]

Default: "<C-j>"

vim.navigation.harpoon.mappings.file2 Link copied!

Type: null or string

Go to marked file 2 [Harpoon]

Default: "<C-k>"

vim.navigation.harpoon.mappings.file3 Link copied!

Type: null or string

Go to marked file 3 [Harpoon]

Default: "<C-l>"

vim.navigation.harpoon.mappings.file4 Link copied!

Type: null or string

Go to marked file 4 [Harpoon]

Default: "<C-;>"

vim.navigation.harpoon.mappings.listMarks Link copied!

Type: null or string

List marked files [Harpoon]

Default: "<C-e>"

vim.navigation.harpoon.mappings.markFile Link copied!

Type: null or string

Mark file [Harpoon]

Default: "<leader>a"

vim.navigation.harpoon.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of Harpoon.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.notes.neorg.enable Link copied!

Type: boolean

Whether to enable Neorg: An intuitive note-taking and organization tool with a structured nested syntax. .

Default: false
Example: true

vim.notes.neorg.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of Neorg.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.notes.neorg.treesitter.enable Link copied!

Type: boolean

Whether to enable Neorg treesitter.

Default: false
Example: true

vim.notes.neorg.treesitter.norgMetaPackage Link copied!

Type: package

The norg-meta treesitter package to use.

Default: pkgs.tree-sitter-grammars.tree-sitter-norg-meta

vim.notes.neorg.treesitter.norgPackage Link copied!

Type: package

The norg-meta treesitter package to use.

Default: pkgs.tree-sitter-grammars.tree-sitter-norg

vim.notes.obsidian.enable Link copied!

Type: boolean

Whether to enable plugins to complement the Obsidian markdown editor [obsidian.nvim].

Enables vim-markdown which automatically folds markdown headings inside and outside of workspaces/vaults. Set vim.globals.vim_markdown_folding_disable = 1; to disable automatic folding, or vim.globals.vim_markdown_folding_level = <heading-level-int>; to set the default fold level for new buffers.

nvf will choose one of snacks.picker, mini.pick, telescope, or fzf-lua as the obsidian.nvim picker based on whether they are enabled, in that order.

You can enable one of them with one of the following:

vim.notes.obsidian.setupOpts.ui.enable is automatically disabled if render-markdown.nvim or markview.nvim are enabled.

Default: false
Example: true

vim.notes.obsidian.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of obsidian.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.notes.orgmode.enable Link copied!

Type: boolean

Whether to enable nvim-orgmode: Neovim plugin for Emacs Orgmode. Get the best of both worlds.

Default: false
Example: true

vim.notes.orgmode.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of Orgmode.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.notes.orgmode.treesitter.enable Link copied!

Type: boolean

Whether to enable Orgmode treesitter.

Default: false
Example: true

vim.notes.orgmode.treesitter.orgPackage Link copied!

Type: package

The org-nvim treesitter package to use.

Default: pkgs.tree-sitter-grammars.tree-sitter-org-nvim

vim.notes.todo-comments.enable Link copied!

Type: boolean

Whether to enable todo-comments: highlight and search for todo comments like TODO, HACK, BUG in your code base.

Default: false
Example: true

vim.notes.todo-comments.mappings.quickFix Link copied!

Type: null or string

Open Todo-s in a quickfix list

Default: "<leader>tdq"

vim.notes.todo-comments.mappings.telescope Link copied!

Type: null or string

Open Todo-s in telescope

Default: "<leader>tds"

vim.notes.todo-comments.mappings.trouble Link copied!

Type: null or string

Open Todo-s in Trouble

Default: "<leader>tdt"

vim.notes.todo-comments.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of todo-comments.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.notify.nvim-notify.enable Link copied!

Type: boolean

Whether to enable nvim-notify notifications.

Default: false
Example: true

vim.notify.nvim-notify.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of nvim-notify.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.optPlugins Link copied!

Type: list of (null or package or one of "blink-cmp", "aerial-nvim", "alpha-nvim", "avante-nvim", "base16", "blink-cmp-spell", "blink-compat", "blink-emoji-nvim", "blink-indent", "blink-ripgrep-nvim", "bufdelete-nvim", "bufferline-nvim", "catppuccin", "ccc-nvim", "cellular-automaton-nvim", "chatgpt-nvim", "cheatsheet-nvim", "cinnamon-nvim", "cmp-buffer", "cmp-luasnip", "cmp-nvim-lsp", "cmp-path", "cmp-treesitter", "codecompanion-nvim", "codewindow-nvim", "colorful-menu-nvim", "comment-nvim", "conform-nvim", "copilot-cmp", "copilot-lua", "crates-nvim", "crazy-coverage", "csharpls-extended-lsp-nvim", "csvview-nvim", "dashboard-nvim", "diffview-nvim", "direnv-vim", "dracula", "dressing-nvim", "elixir-tools-nvim", "everforest", "fastaction-nvim", "fidget-nvim", "flash-nvim", "fluent-nvim", "flutter-tools-nvim", "friendly-snippets", "fzf-lua", "gesture-nvim", "git-conflict-nvim", "github", "gitlinker-nvim", "gitsigns-nvim", "glow-nvim", "gopher-nvim", "gradle-nvim", "gruber-darker", "grug-far-nvim", "gruvbox", "hardtime-nvim", "harpoon", "haskell-tools-nvim", "highlight-undo-nvim", "hlargs-nvim", "hop.nvim", "hunk-nvim", "hydra-nvim", "icon-picker-nvim", "image-nvim", "img-clip", "indent-blankline-nvim", "lazydev-nvim", "leap-nvim", "leetcode-nvim", "lsp-signature-nvim", "lspkind-nvim", "lspsaga-nvim", "lua-utils-nvim", "lualine-nvim", "luasnip", "lz-n", "lzn-auto-require", "markview-nvim", "maven-nvim", "mellow", "mini-ai", "mini-align", "mini-animate", "mini-base16", "mini-basics", "mini-bracketed", "mini-bufremove", "mini-clue", "mini-colors", "mini-comment", "mini-completion", "mini-cursorword", "mini-diff", "mini-doc", "mini-extra", "mini-files", "mini-fuzzy", "mini-git", "mini-hipatterns", "mini-hues", "mini-icons", "mini-indentscope", "mini-jump", "mini-jump2d", "mini-map", "mini-misc", "mini-move", "mini-notify", "mini-operators", "mini-pairs", "mini-pick", "mini-sessions", "mini-snippets", "mini-splitjoin", "mini-starter", "mini-statusline", "mini-surround", "mini-tabline", "mini-test", "mini-trailspace", "mini-visits", "minimap-vim", "mkdir-nvim", "modes-nvim", "multicursors-nvim", "neo-tree-nvim", "neocodeium", "neocord", "neogit", "neorg", "neorg-telescope", "neovim-session-manager", "new-file-template-nvim", "nix-develop-nvim", "noice-nvim", "none-ls-nvim", "nord", "nui-nvim", "nvim-autopairs", "nvim-biscuits", "nvim-cmp", "nvim-colorizer-lua", "nvim-cursorline", "nvim-dap", "nvim-dap-go", "nvim-dap-odin", "nvim-dap-ui", "nvim-docs-view", "nvim-highlight-colors", "nvim-lightbulb", "nvim-lint", "nvim-lspconfig", "nvim-metals", "nvim-navbuddy", "nvim-navic", "nvim-neoclip-lua", "nvim-nio", "nvim-notify", "nvim-scrollbar", "nvim-surround", "nvim-tree-lua", "nvim-treesitter-context", "nvim-treesitter-textobjects", "nvim-ts-autotag", "nvim-ufo", "nvim-web-devicons", "obsidian-nvim", "oil-git-status.nvim", "oil-nvim", "omnisharp-extended-lsp-nvim", "onedark", "orgmode", "otter-nvim", "oxocarbon", "pathlib-nvim", "plenary-nvim", "precognition-nvim", "prettier-plugin-astro", "prettier-plugin-pug", "prettier-plugin-svelte", "project-nvim", "promise-async", "qmk-nvim", "rainbow-delimiters-nvim", "registers-nvim", "render-markdown-nvim", "rose-pine", "roslyn-nvim", "rtp-nvim", "run-nvim", "rustaceanvim", "smart-splits", "smartcolumn-nvim", "snacks-nvim", "solarized", "solarized-osaka", "sqls-nvim", "supermaven-nvim", "syntax-gaslighting", "tabular", "telescope", "tiny-devicons-auto-colors-nvim", "todo-comments-nvim", "toggleterm-nvim", "tokyonight", "trouble", "ts-error-translator-nvim", "typst-concealer", "typst-preview-nvim", "undotree", "vim-dirtytalk", "vim-fugitive", "vim-illuminate", "vim-markdown", "vim-repeat", "vim-sleuth", "vim-startify", "vim-wakatime", "which-key-nvim", "yanky-nvim", "nvim-treesitter", "flutter-tools-patched", "vim-repeat")

List of plugins to optionally load on startup.

This option has the same type definition as vim.startPlugins and plugins in this list are appended to vim.startPlugins by the wrapper during the build process.

To avoid overriding packages and dependencies provided by startPlugins, you are recommended to use this option or vim.extraPlugins option.

Default: [ ]
Example: [pkgs.vimPlugins.vim-ghost]

vim.options Link copied!

Type: open submodule of attribute set of anything

A freeform attribute set containing vim options to be set as early as possible. If populated, this option will set vim options in the built luaConfigRC after basic and before pluginConfigs DAG entries.

Note

{foo = "bar";} will set vim.opt.foo to "bar", where the type of bar in the resulting Lua value will be inferred from the type of the value in the {name = value;} pair passed to the option.

Default: { }
Example:
{
  visualbell = true;
}

vim.options.autoindent Link copied!

Type: boolean

Enable auto indent

Default: true

vim.options.cmdheight Link copied!

Type: signed integer

Height of the command pane

Default: 1

vim.options.cursorlineopt Link copied!

Type: one of "line", "screenline", "number", "both"

Highlight the text line of the cursor with CursorLine hl-CursorLine

Default: "line"

vim.options.mouse Link copied!

Type: string

Set modes for mouse support.

  • n - normal
  • v - visual
  • i - insert
  • c - command-line
  • h - all modes when editing a help file
  • a - all modes
  • r - for hit-enter and more-prompt prompt

This option takes a string to ensure proper conversion to the corresponding Lua type. As such, we do not check the value passed to this option. Please ensure that any value that is set here is a valid value as per neovim documentation.

Default: "nvi"
Example: "a"

vim.options.shiftwidth Link copied!

Type: signed integer

Number of spaces to use for each step of (auto)indent. Used for cindent, >>, <<, etc.

When zero the tabstop value will be used.

Default: 8

vim.options.signcolumn Link copied!

Type: string

Whether to show the sign column

Default: "yes"
Example: "no"

vim.options.splitbelow Link copied!

Type: boolean

New splits will open below instead of on top

Default: true

vim.options.splitright Link copied!

Type: boolean

New splits will open to the right

Default: true

vim.options.tabstop Link copied!

Type: signed integer

Number of spaces that a <Tab> in the file counts for. Also see the :retab command, and the softtabstop option.

Default: 8

vim.options.termguicolors Link copied!

Type: boolean

Set terminal up for 256 colours

Default: true

vim.options.tm Link copied!

Type: signed integer

Timeout in ms that Neovim will wait for mapped action to complete

Default: 500

vim.options.updatetime Link copied!

Type: signed integer

The number of milliseconds till Cursor Hold event is fired

Default: 300

vim.options.wrap Link copied!

Type: boolean

Enable word wrapping.

Default: true

vim.opts Link copied!

Type: open submodule of attribute set of anything

Alias of vim.options.

vim.opts.autoindent Link copied!

Type: boolean

Enable auto indent

Default: true

vim.opts.cmdheight Link copied!

Type: signed integer

Height of the command pane

Default: 1

vim.opts.cursorlineopt Link copied!

Type: one of "line", "screenline", "number", "both"

Highlight the text line of the cursor with CursorLine hl-CursorLine

Default: "line"

vim.opts.mouse Link copied!

Type: string

Set modes for mouse support.

  • n - normal
  • v - visual
  • i - insert
  • c - command-line
  • h - all modes when editing a help file
  • a - all modes
  • r - for hit-enter and more-prompt prompt

This option takes a string to ensure proper conversion to the corresponding Lua type. As such, we do not check the value passed to this option. Please ensure that any value that is set here is a valid value as per neovim documentation.

Default: "nvi"
Example: "a"

vim.opts.shiftwidth Link copied!

Type: signed integer

Number of spaces to use for each step of (auto)indent. Used for cindent, >>, <<, etc.

When zero the tabstop value will be used.

Default: 8

vim.opts.signcolumn Link copied!

Type: string

Whether to show the sign column

Default: "yes"
Example: "no"

vim.opts.splitbelow Link copied!

Type: boolean

New splits will open below instead of on top

Default: true

vim.opts.splitright Link copied!

Type: boolean

New splits will open to the right

Default: true

vim.opts.tabstop Link copied!

Type: signed integer

Number of spaces that a <Tab> in the file counts for. Also see the :retab command, and the softtabstop option.

Default: 8

vim.opts.termguicolors Link copied!

Type: boolean

Set terminal up for 256 colours

Default: true

vim.opts.tm Link copied!

Type: signed integer

Timeout in ms that Neovim will wait for mapped action to complete

Default: 500

vim.opts.updatetime Link copied!

Type: signed integer

The number of milliseconds till Cursor Hold event is fired

Default: 300

vim.opts.wrap Link copied!

Type: boolean

Enable word wrapping.

Default: true

vim.package Link copied!

Type: package

The neovim package to use for the wrapper. This corresponds to the package that will be wrapped with your plugins and settings.

Warning

You will need to use an unwrapped package for this option to work as intended. Using an already wrapped package here may yield undesirable results.

Default: pkgs.neovim-unwrapped

vim.pluginOverrides Link copied!

Type: attribute set of package

Attribute set of plugins to override default values

Default: { }
Example:
{
  lazydev-nvim = pkgs.fetchFromGitHub {
    owner = "folke";
    repo = "lazydev.nvim";
    rev = "";
    hash = "";
  };
}

vim.pluginRC Link copied!

Type: (DAG of strings concatenated with "\n") or string

The DAG used to configure plugins. If a string is passed, entryAnywhere is automatically applied.

Default: { }

vim.presence.neocord.enable Link copied!

Type: boolean

Whether to enable neocord plugin for discord rich presence.

Default: false
Example: true

vim.presence.neocord.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of neocord.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.preventJunkFiles Link copied!

Type: boolean

Prevent swapfile and backupfile from being created.

false is the default Neovim behaviour. If you wish to create backup and swapfiles, set this option to false.

Default: true
Example: false

vim.projects.project-nvim.enable Link copied!

Type: boolean

Whether to enable project-nvim for project management.

Default: false
Example: true

vim.projects.project-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of Project.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.python3Packages Link copied!

Type: list of string

List of python packages to install

Default: [ ]
Example: "[\"pynvim\"]"

vim.repl.conjure.enable Link copied!

Type: boolean

Whether to enable Conjure.

Default: false
Example: true

vim.runner.run-nvim.enable Link copied!

Type: boolean

Whether to enable run.nvim.

Default: false
Example: true

vim.runner.run-nvim.mappings.run Link copied!

Type: null or string

Run cached

Default: "<leader>ri"

vim.runner.run-nvim.mappings.runCommand Link copied!

Type: null or string

Run prompt

Default: "<leader>rc"

vim.runner.run-nvim.mappings.runOverride Link copied!

Type: null or string

Run and override

Default: "<leader>ro"

vim.runner.run-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of run.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.searchCase Link copied!

Type: one of "ignore", "smart", "sensitive"

Set the case sensitivity of search

Default: "sensitive"

vim.session.nvim-session-manager.enable Link copied!

Type: boolean

Whether to enable nvim-session-manager: manage sessions like folders in VSCode.

Default: false
Example: true

vim.session.nvim-session-manager.mappings.deleteSession Link copied!

Type: null or string

Delete session

Default: "<leader>sd"

vim.session.nvim-session-manager.mappings.loadLastSession Link copied!

Type: null or string

Load last session

Default: "<leader>slt"

vim.session.nvim-session-manager.mappings.saveCurrentSession Link copied!

Type: null or string

Save current session

Default: "<leader>sc"

vim.session.nvim-session-manager.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of which-key.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.session.nvim-session-manager.usePicker Link copied!

Type: boolean

Whether we should use dressing.nvim to build a session picker UI

Default: true

vim.snippets.luasnip.customSnippets.snipmate Link copied!

Type: attribute set of list of (submodule)

A list containing custom snippets in the SnipMate format to be loaded by LuaSnip.

Default: { }
Example:
''
  {
    all = [
      {
        trigger = "if";
        body = "if $1 else $2";
      }
    ];
    nix = [
      {
        trigger = "mkOption";
        body = '''
          mkOption {
            type = $1;
            default = $2;
            description = $3;
            example = $4;
          }
        ''';
      }
    ];
  }
''

vim.snippets.luasnip.customSnippets.snipmate.<name>.*.body Link copied!

Type: string

The body of the snippet in SnipMate format (see LuaSnip Documentation).

vim.snippets.luasnip.customSnippets.snipmate.<name>.*.description Link copied!

Type: string

The description shown for this snippet.

Default: ""

vim.snippets.luasnip.customSnippets.snipmate.<name>.*.trigger Link copied!

Type: string

The trigger used to activate this snippet.

vim.snippets.luasnip.enable Link copied!

Type: boolean

Whether to enable luasnip.

Default: false
Example: true

vim.snippets.luasnip.loaders Link copied!

Type: strings concatenated with "\n"

Lua code used to load snippet providers.

Default: ```lua require('luasnip.loaders.from_vscode').lazy_load() ```
Example:
```lua
require("luasnip.loaders.from_snipmate").lazy_load()
```

vim.snippets.luasnip.providers Link copied!

Type: list of (null or package or one of "blink-cmp", "aerial-nvim", "alpha-nvim", "avante-nvim", "base16", "blink-cmp-spell", "blink-compat", "blink-emoji-nvim", "blink-indent", "blink-ripgrep-nvim", "bufdelete-nvim", "bufferline-nvim", "catppuccin", "ccc-nvim", "cellular-automaton-nvim", "chatgpt-nvim", "cheatsheet-nvim", "cinnamon-nvim", "cmp-buffer", "cmp-luasnip", "cmp-nvim-lsp", "cmp-path", "cmp-treesitter", "codecompanion-nvim", "codewindow-nvim", "colorful-menu-nvim", "comment-nvim", "conform-nvim", "copilot-cmp", "copilot-lua", "crates-nvim", "crazy-coverage", "csharpls-extended-lsp-nvim", "csvview-nvim", "dashboard-nvim", "diffview-nvim", "direnv-vim", "dracula", "dressing-nvim", "elixir-tools-nvim", "everforest", "fastaction-nvim", "fidget-nvim", "flash-nvim", "fluent-nvim", "flutter-tools-nvim", "friendly-snippets", "fzf-lua", "gesture-nvim", "git-conflict-nvim", "github", "gitlinker-nvim", "gitsigns-nvim", "glow-nvim", "gopher-nvim", "gradle-nvim", "gruber-darker", "grug-far-nvim", "gruvbox", "hardtime-nvim", "harpoon", "haskell-tools-nvim", "highlight-undo-nvim", "hlargs-nvim", "hop.nvim", "hunk-nvim", "hydra-nvim", "icon-picker-nvim", "image-nvim", "img-clip", "indent-blankline-nvim", "lazydev-nvim", "leap-nvim", "leetcode-nvim", "lsp-signature-nvim", "lspkind-nvim", "lspsaga-nvim", "lua-utils-nvim", "lualine-nvim", "luasnip", "lz-n", "lzn-auto-require", "markview-nvim", "maven-nvim", "mellow", "mini-ai", "mini-align", "mini-animate", "mini-base16", "mini-basics", "mini-bracketed", "mini-bufremove", "mini-clue", "mini-colors", "mini-comment", "mini-completion", "mini-cursorword", "mini-diff", "mini-doc", "mini-extra", "mini-files", "mini-fuzzy", "mini-git", "mini-hipatterns", "mini-hues", "mini-icons", "mini-indentscope", "mini-jump", "mini-jump2d", "mini-map", "mini-misc", "mini-move", "mini-notify", "mini-operators", "mini-pairs", "mini-pick", "mini-sessions", "mini-snippets", "mini-splitjoin", "mini-starter", "mini-statusline", "mini-surround", "mini-tabline", "mini-test", "mini-trailspace", "mini-visits", "minimap-vim", "mkdir-nvim", "modes-nvim", "multicursors-nvim", "neo-tree-nvim", "neocodeium", "neocord", "neogit", "neorg", "neorg-telescope", "neovim-session-manager", "new-file-template-nvim", "nix-develop-nvim", "noice-nvim", "none-ls-nvim", "nord", "nui-nvim", "nvim-autopairs", "nvim-biscuits", "nvim-cmp", "nvim-colorizer-lua", "nvim-cursorline", "nvim-dap", "nvim-dap-go", "nvim-dap-odin", "nvim-dap-ui", "nvim-docs-view", "nvim-highlight-colors", "nvim-lightbulb", "nvim-lint", "nvim-lspconfig", "nvim-metals", "nvim-navbuddy", "nvim-navic", "nvim-neoclip-lua", "nvim-nio", "nvim-notify", "nvim-scrollbar", "nvim-surround", "nvim-tree-lua", "nvim-treesitter-context", "nvim-treesitter-textobjects", "nvim-ts-autotag", "nvim-ufo", "nvim-web-devicons", "obsidian-nvim", "oil-git-status.nvim", "oil-nvim", "omnisharp-extended-lsp-nvim", "onedark", "orgmode", "otter-nvim", "oxocarbon", "pathlib-nvim", "plenary-nvim", "precognition-nvim", "prettier-plugin-astro", "prettier-plugin-pug", "prettier-plugin-svelte", "project-nvim", "promise-async", "qmk-nvim", "rainbow-delimiters-nvim", "registers-nvim", "render-markdown-nvim", "rose-pine", "roslyn-nvim", "rtp-nvim", "run-nvim", "rustaceanvim", "smart-splits", "smartcolumn-nvim", "snacks-nvim", "solarized", "solarized-osaka", "sqls-nvim", "supermaven-nvim", "syntax-gaslighting", "tabular", "telescope", "tiny-devicons-auto-colors-nvim", "todo-comments-nvim", "toggleterm-nvim", "tokyonight", "trouble", "ts-error-translator-nvim", "typst-concealer", "typst-preview-nvim", "undotree", "vim-dirtytalk", "vim-fugitive", "vim-illuminate", "vim-markdown", "vim-repeat", "vim-sleuth", "vim-startify", "vim-wakatime", "which-key-nvim", "yanky-nvim", "nvim-treesitter", "flutter-tools-patched", "vim-repeat")

The snippet provider packages.

Note

These are simply appended to {option} vim.startPlugins.

Default: [ "friendly-snippets" ]
Example: ["vimPlugins.vim-snippets"]

vim.snippets.luasnip.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of LuaSnip.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.spellcheck.enable Link copied!

Type: boolean

Whether to enable Neovim's built-in spellchecking.

Default: false
Example: true

vim.spellcheck.extraSpellWords Link copied!

Type: attribute set of list of string

Additional words to be used for spellchecking. The names of each key will be used as the language code for the spell file. For example

"en.utf-8" = [ ... ];

will result in en.utf-8.add.spl being added to Neovim's runtime in the spell directory.

Warning

The attribute keys must be in "<name>.<encoding>" format for Neovim to compile your spellfiles without mangling the resulting file names. Please make sure that you enter the correct value, as nvf does not do any kind of internal checking. Please see :help mkspell for more details.

Example:

# "en" is the name, and "utf-8" is the encoding. For most use cases, utf-8
# will be enough, however, you may change it to any encoding format Neovim
# accepts, e.g., utf-16.
"en.utf-8" = ["nvf" "word_you_want_to_add"];
=> $out/spell/en-utf-8.add.spl

Note that while adding a new language, you will still need to add the name of the language (e.g. "en") to the vim.spellcheck.languages list by name in order to enable spellchecking for the language. By default only "en" is in the list.

Default: { }
Example: {"en.utf-8" = ["nvf" "word_you_want_to_add"];}

vim.spellcheck.ignoreTerminal Link copied!

Type: boolean

Disable spell checking in terminal.

Default: true

vim.spellcheck.ignoredFiletypes Link copied!

Type: list of string

A list of filetypes for which spellchecking will be disabled.

Tip

You may use :echo &filetype in Neovim to find out the filetype for a specific buffer.

Default: [ "toggleterm" ]
Example: ["markdown" "gitcommit"]

vim.spellcheck.languages Link copied!

Type: list of string

A list of languages that should be used for spellchecking.

To add your own language files, you may place your spell directory in either $XDG_CONFIG_HOME/nvf or in a path that is included in the vim.additionalRuntimePaths list provided by nvf.

Default: [ "en" ]
Example: ["en" "de"]

vim.spellcheck.programmingWordlist.enable Link copied!

Type: boolean

Whether to enable vim-dirtytalk, a wordlist for programmers containing common programming terms.

Note

Enabling this option will unconditionally set vim.spellcheck.enable to true as vim-dirtytalk depends on spellchecking having been set up.

Run :DirtytalkUpdate on first use to download the spellfile.

.

Default: false
Example: true

vim.startPlugins Link copied!

Type: list of (null or package or one of "blink-cmp", "aerial-nvim", "alpha-nvim", "avante-nvim", "base16", "blink-cmp-spell", "blink-compat", "blink-emoji-nvim", "blink-indent", "blink-ripgrep-nvim", "bufdelete-nvim", "bufferline-nvim", "catppuccin", "ccc-nvim", "cellular-automaton-nvim", "chatgpt-nvim", "cheatsheet-nvim", "cinnamon-nvim", "cmp-buffer", "cmp-luasnip", "cmp-nvim-lsp", "cmp-path", "cmp-treesitter", "codecompanion-nvim", "codewindow-nvim", "colorful-menu-nvim", "comment-nvim", "conform-nvim", "copilot-cmp", "copilot-lua", "crates-nvim", "crazy-coverage", "csharpls-extended-lsp-nvim", "csvview-nvim", "dashboard-nvim", "diffview-nvim", "direnv-vim", "dracula", "dressing-nvim", "elixir-tools-nvim", "everforest", "fastaction-nvim", "fidget-nvim", "flash-nvim", "fluent-nvim", "flutter-tools-nvim", "friendly-snippets", "fzf-lua", "gesture-nvim", "git-conflict-nvim", "github", "gitlinker-nvim", "gitsigns-nvim", "glow-nvim", "gopher-nvim", "gradle-nvim", "gruber-darker", "grug-far-nvim", "gruvbox", "hardtime-nvim", "harpoon", "haskell-tools-nvim", "highlight-undo-nvim", "hlargs-nvim", "hop.nvim", "hunk-nvim", "hydra-nvim", "icon-picker-nvim", "image-nvim", "img-clip", "indent-blankline-nvim", "lazydev-nvim", "leap-nvim", "leetcode-nvim", "lsp-signature-nvim", "lspkind-nvim", "lspsaga-nvim", "lua-utils-nvim", "lualine-nvim", "luasnip", "lz-n", "lzn-auto-require", "markview-nvim", "maven-nvim", "mellow", "mini-ai", "mini-align", "mini-animate", "mini-base16", "mini-basics", "mini-bracketed", "mini-bufremove", "mini-clue", "mini-colors", "mini-comment", "mini-completion", "mini-cursorword", "mini-diff", "mini-doc", "mini-extra", "mini-files", "mini-fuzzy", "mini-git", "mini-hipatterns", "mini-hues", "mini-icons", "mini-indentscope", "mini-jump", "mini-jump2d", "mini-map", "mini-misc", "mini-move", "mini-notify", "mini-operators", "mini-pairs", "mini-pick", "mini-sessions", "mini-snippets", "mini-splitjoin", "mini-starter", "mini-statusline", "mini-surround", "mini-tabline", "mini-test", "mini-trailspace", "mini-visits", "minimap-vim", "mkdir-nvim", "modes-nvim", "multicursors-nvim", "neo-tree-nvim", "neocodeium", "neocord", "neogit", "neorg", "neorg-telescope", "neovim-session-manager", "new-file-template-nvim", "nix-develop-nvim", "noice-nvim", "none-ls-nvim", "nord", "nui-nvim", "nvim-autopairs", "nvim-biscuits", "nvim-cmp", "nvim-colorizer-lua", "nvim-cursorline", "nvim-dap", "nvim-dap-go", "nvim-dap-odin", "nvim-dap-ui", "nvim-docs-view", "nvim-highlight-colors", "nvim-lightbulb", "nvim-lint", "nvim-lspconfig", "nvim-metals", "nvim-navbuddy", "nvim-navic", "nvim-neoclip-lua", "nvim-nio", "nvim-notify", "nvim-scrollbar", "nvim-surround", "nvim-tree-lua", "nvim-treesitter-context", "nvim-treesitter-textobjects", "nvim-ts-autotag", "nvim-ufo", "nvim-web-devicons", "obsidian-nvim", "oil-git-status.nvim", "oil-nvim", "omnisharp-extended-lsp-nvim", "onedark", "orgmode", "otter-nvim", "oxocarbon", "pathlib-nvim", "plenary-nvim", "precognition-nvim", "prettier-plugin-astro", "prettier-plugin-pug", "prettier-plugin-svelte", "project-nvim", "promise-async", "qmk-nvim", "rainbow-delimiters-nvim", "registers-nvim", "render-markdown-nvim", "rose-pine", "roslyn-nvim", "rtp-nvim", "run-nvim", "rustaceanvim", "smart-splits", "smartcolumn-nvim", "snacks-nvim", "solarized", "solarized-osaka", "sqls-nvim", "supermaven-nvim", "syntax-gaslighting", "tabular", "telescope", "tiny-devicons-auto-colors-nvim", "todo-comments-nvim", "toggleterm-nvim", "tokyonight", "trouble", "ts-error-translator-nvim", "typst-concealer", "typst-preview-nvim", "undotree", "vim-dirtytalk", "vim-fugitive", "vim-illuminate", "vim-markdown", "vim-repeat", "vim-sleuth", "vim-startify", "vim-wakatime", "which-key-nvim", "yanky-nvim", "nvim-treesitter", "flutter-tools-patched", "vim-repeat")

List of plugins to load on startup. This is used internally to add plugins to Neovim's runtime.

To add additional plugins to your configuration, consider using the vim.extraPlugins option.

Default: [ "plenary-nvim" ]
Example: [pkgs.vimPlugins.telescope-nvim]

vim.statusline.lualine.activeSection.a Link copied!

Type: list of string

active config for: | (A) | B | C X | Y | Z |

Default: [ '' { "mode", icons_enabled = true, separator = { left = '▎', right = '' }, } '' '' { "", draw_empty = true, separator = { left = '', right = '' } } '' ]

vim.statusline.lualine.activeSection.b Link copied!

Type: list of string

active config for: | A | (B) | C X | Y | Z |

Default: [ '' { "filetype", colored = true, icon_only = true, icon = { align = 'left' } } '' '' { "filename", symbols = {modified = ' ', readonly = ' '}, separator = {right = ''} } '' '' { "", draw_empty = true, separator = { left = '', right = '' } } '' ]

vim.statusline.lualine.activeSection.c Link copied!

Type: list of string

active config for: | A | B | (C) X | Y | Z |

Default: [ '' { "diff", colored = false, diff_color = { -- Same color values as the general color option can be used here. added = 'DiffAdd', -- Changes the diff's added color modified = 'DiffChange', -- Changes the diff's modified color removed = 'DiffDelete', -- Changes the diff's removed color you }, symbols = {added = '+', modified = '~', removed = '-'}, -- Changes the diff symbols separator = {right = ''} } '' ]

vim.statusline.lualine.activeSection.x Link copied!

Type: list of string

active config for: | A | B | C (X) | Y | Z |

Default: [ '' { -- Lsp server name function() local buf_ft = vim.bo.filetype local excluded_buf_ft = { toggleterm = true, NvimTree = true, ["neo-tree"] = true, TelescopePrompt = true } if excluded_buf_ft[buf_ft] then return "" end local bufnr = vim.api.nvim_get_current_buf() local clients = vim.lsp.get_clients({ bufnr = bufnr }) if vim.tbl_isempty(clients) then return "No Active LSP" end local active_clients = {} for _, client in ipairs(clients) do table.insert(active_clients, client.name) end return table.concat(active_clients, ", ") end, icon = ' ', separator = {left = ''}, } '' '' { "diagnostics", sources = {'nvim_lsp', 'nvim_diagnostic', 'nvim_diagnostic', 'vim_lsp', 'coc'}, symbols = {error = '󰅙 ', warn = ' ', info = ' ', hint = '󰌵 '}, colored = true, update_in_insert = false, always_visible = false, diagnostics_color = { color_error = { fg = 'red' }, color_warn = { fg = 'yellow' }, color_info = { fg = 'cyan' }, }, } '' ]

vim.statusline.lualine.activeSection.y Link copied!

Type: list of string

active config for: | A | B | C X | (Y) | Z |

Default: [ '' { "", draw_empty = true, separator = { left = '', right = '' } } '' '' { 'searchcount', maxcount = 999, timeout = 120, separator = {left = ''} } '' '' { "branch", icon = ' •', separator = {left = ''} } '' ]

vim.statusline.lualine.activeSection.z Link copied!

Type: list of string

active config for: | A | B | C X | Y | (Z) |

Default: [ '' { "", draw_empty = true, separator = { left = '', right = '' } } '' '' { "progress", separator = {left = ''} } '' '' {"location"} '' '' { "fileformat", color = {fg='black'}, symbols = { unix = '', -- e712 dos = '', -- e70f mac = '', -- e711 } } '' ]

vim.statusline.lualine.alwaysDivideMiddle Link copied!

Type: boolean

Always divide middle section

Default: true

vim.statusline.lualine.componentSeparator.left Link copied!

Type: string

Component separator for left side

Default: ""

vim.statusline.lualine.componentSeparator.right Link copied!

Type: string

Component separator for right side

Default: ""

vim.statusline.lualine.disabledFiletypes.statusline Link copied!

Type: list of string

Filetypes to disable lualine on for statusline

Default: [ "alpha" ]

vim.statusline.lualine.disabledFiletypes.winbar Link copied!

Type: list of string

Filetypes to disable lualine on for winbar

Default: [ ]

vim.statusline.lualine.enable Link copied!

Type: boolean

Whether to enable lualine statusline plugin.

Default: false
Example: true

vim.statusline.lualine.extraActiveSection.a Link copied!

Type: list of string

Extra entries for activeSection.a

Default: [ ]

vim.statusline.lualine.extraActiveSection.b Link copied!

Type: list of string

Extra entries for activeSection.b

Default: [ ]

vim.statusline.lualine.extraActiveSection.c Link copied!

Type: list of string

Extra entries for activeSection.c

Default: [ ]

vim.statusline.lualine.extraActiveSection.x Link copied!

Type: list of string

Extra entries for activeSection.x

Default: [ ]

vim.statusline.lualine.extraActiveSection.y Link copied!

Type: list of string

Extra entries for activeSection.y

Default: [ ]

vim.statusline.lualine.extraActiveSection.z Link copied!

Type: list of string

Extra entries for activeSection.z

Default: [ ]

vim.statusline.lualine.extraInactiveSection.a Link copied!

Type: list of string

Extra entries for inactiveSection.a

Default: [ ]

vim.statusline.lualine.extraInactiveSection.b Link copied!

Type: list of string

Extra entries for inactiveSection.b

Default: [ ]

vim.statusline.lualine.extraInactiveSection.c Link copied!

Type: list of string

Extra entries for inactiveSection.c

Default: [ ]

vim.statusline.lualine.extraInactiveSection.x Link copied!

Type: list of string

Extra entries for inactiveSection.x

Default: [ ]

vim.statusline.lualine.extraInactiveSection.y Link copied!

Type: list of string

Extra entries for inactiveSection.y

Default: [ ]

vim.statusline.lualine.extraInactiveSection.z Link copied!

Type: list of string

Extra entries for inactiveSection.z

Default: [ ]

vim.statusline.lualine.globalStatus Link copied!

Type: boolean

Enable global status for lualine

Default: true

vim.statusline.lualine.icons.enable Link copied!

Type: boolean

Whether to enable icons for lualine.

Default: true
Example: true

vim.statusline.lualine.ignoreFocus Link copied!

Type: list of string

If current filetype is in this list it'll always be drawn as inactive statusline and the last window will be drawn as active statusline.

Default: [ "NvimTree" ]

vim.statusline.lualine.inactiveSection.a Link copied!

Type: list of string

inactive config for: | (A) | B | C X | Y | Z |

Default: [ ]

vim.statusline.lualine.inactiveSection.b Link copied!

Type: list of string

inactive config for: | A | (B) | C X | Y | Z |

Default: [ ]

vim.statusline.lualine.inactiveSection.c Link copied!

Type: list of string

inactive config for: | A | B | (C) X | Y | Z |

Default: [ "'filename'" ]

vim.statusline.lualine.inactiveSection.x Link copied!

Type: list of string

inactive config for: | A | B | C (X) | Y | Z |

Default: [ "'location'" ]

vim.statusline.lualine.inactiveSection.y Link copied!

Type: list of string

inactive config for: | A | B | C X | (Y) | Z |

Default: [ ]

vim.statusline.lualine.inactiveSection.z Link copied!

Type: list of string

inactive config for: | A | B | C X | Y | (Z) |

Default: [ ]

vim.statusline.lualine.refresh.statusline Link copied!

Type: signed integer

Refresh rate for lualine

Default: 1000

vim.statusline.lualine.refresh.tabline Link copied!

Type: signed integer

Refresh rate for tabline

Default: 1000

vim.statusline.lualine.refresh.winbar Link copied!

Type: signed integer

Refresh rate for winbar

Default: 1000

vim.statusline.lualine.sectionSeparator.left Link copied!

Type: string

Section separator for left side

Default: ""

vim.statusline.lualine.sectionSeparator.right Link copied!

Type: string

Section separator for right side

Default: ""

vim.statusline.lualine.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of Lualine.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.statusline.lualine.theme Link copied!

Type: one of "auto", "16color", "ayu_dark", "ayu_light", "ayu_mirage", "ayu", "base16", "codedark", "dracula", "everforest", "github_dark", "github_light", "github_dark_dimmed", "github_dark_default", "github_light_default", "github_dark_high_contrast", "github_light_high_contrast", "github_dark_colorblind", "github_light_colorblind", "github_dark_tritanopia", "github_light_tritanopia", "gruvbox", "gruvbox_dark", "gruvbox_light", "gruvbox-material", "horizon", "iceberg_dark", "iceberg_light", "iceberg", "jellybeans", "material", "modus-vivendi", "molokai", "moonfly", "nightfly", "nord", "OceanicNext", "onedark", "onelight", "palenight", "papercolor_dark", "papercolor_light", "PaperColor", "powerline_dark", "powerline", "pywal", "seoul256", "solarized_dark", "solarized_light", "Tomorrow", "wombat", "onedark"

Theme for lualine

Default: "`config.vim.theme.name` if theme supports lualine else \"auto\""

vim.syntaxHighlighting Link copied!

Type: boolean

Enable syntax highlighting

Default: false

vim.tabline.nvimBufferline.enable Link copied!

Type: boolean

Whether to enable neovim bufferline.

Default: false
Example: true

vim.tabline.nvimBufferline.mappings.closeCurrent Link copied!

Type: null or string

Close buffer

Default: null

vim.tabline.nvimBufferline.mappings.cycleNext Link copied!

Type: null or string

Next buffer

Default: "<leader>bn"

vim.tabline.nvimBufferline.mappings.cyclePrevious Link copied!

Type: null or string

Previous buffer

Default: "<leader>bp"

vim.tabline.nvimBufferline.mappings.moveNext Link copied!

Type: null or string

Move next buffer

Default: "<leader>bmn"

vim.tabline.nvimBufferline.mappings.movePrevious Link copied!

Type: null or string

Move previous buffer

Default: "<leader>bmp"

vim.tabline.nvimBufferline.mappings.pick Link copied!

Type: null or string

Pick buffer

Default: "<leader>bc"

vim.tabline.nvimBufferline.mappings.sortByDirectory Link copied!

Type: null or string

Sort buffers by directory

Default: "<leader>bsd"

vim.tabline.nvimBufferline.mappings.sortByExtension Link copied!

Type: null or string

Sort buffers by extension

Default: "<leader>bse"

vim.tabline.nvimBufferline.mappings.sortById Link copied!

Type: null or string

Sort buffers by ID

Default: "<leader>bsi"

vim.tabline.nvimBufferline.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of bufferline-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.telescope.enable Link copied!

Type: boolean

Whether to enable telescope.nvim: multi-purpose search and picker utility.

Default: false
Example: true

vim.telescope.extensions Link copied!

Type: list of (submodule)

Individual extension configurations containing name, packages and setup fields to resolve dependencies, handle load_extension calls and add the setup table into the extensions portion of Telescope's setup table.

Default: [ ]
Example:
[
  {
    name = "fzf";
    packages = [pkgs.vimPlugins.telescope-fzf-native-nvim];
    setup = {fzf = {fuzzy = true;};};
  }
]

vim.telescope.extensions.*.name Link copied!

Type: string

Name of the extension, will be used to load it with a require

vim.telescope.extensions.*.packages Link copied!

Type: list of (string or package)

Package or packages providing the Telescope extension to be loaded.

Default: [ ]

vim.telescope.extensions.*.setup Link copied!

Type: attribute set of anything

Named attribute set to be inserted into Telescope's extensions table.

Default: { }
Example:
{
  fzf = {
    fuzzy = true;
  };
}

vim.telescope.mappings.buffers Link copied!

Type: null or string

Buffers [Telescope]

Default: "<leader>fb"

vim.telescope.mappings.diagnostics Link copied!

Type: null or string

Diagnostics [Telescope]

Default: "<leader>fld"

vim.telescope.mappings.findFiles Link copied!

Type: null or string

Find files [Telescope]

Default: "<leader>ff"

vim.telescope.mappings.findProjects Link copied!

Type: null or string

Find projects [Telescope]

Default: "<leader>fp"

vim.telescope.mappings.gitBranches Link copied!

Type: null or string

Git branches [Telescope]

Default: "<leader>fvb"

vim.telescope.mappings.gitBufferCommits Link copied!

Type: null or string

Git buffer commits [Telescope]

Default: "<leader>fvcb"

vim.telescope.mappings.gitCommits Link copied!

Type: null or string

Git commits [Telescope]

Default: "<leader>fvcw"

vim.telescope.mappings.gitFiles Link copied!

Type: null or string

Git files [Telescope]

Default: "<leader>fvf"

vim.telescope.mappings.gitStash Link copied!

Type: null or string

Git stash [Telescope]

Default: "<leader>fvx"

vim.telescope.mappings.gitStatus Link copied!

Type: null or string

Git status [Telescope]

Default: "<leader>fvs"

vim.telescope.mappings.helpTags Link copied!

Type: null or string

Help tags [Telescope]

Default: "<leader>fh"

vim.telescope.mappings.liveGrep Link copied!

Type: null or string

Live grep [Telescope]

Default: "<leader>fg"

vim.telescope.mappings.lspDefinitions Link copied!

Type: null or string

LSP Definitions [Telescope]

Default: "<leader>flD"

vim.telescope.mappings.lspDocumentSymbols Link copied!

Type: null or string

LSP Document Symbols [Telescope]

Default: "<leader>flsb"

vim.telescope.mappings.lspImplementations Link copied!

Type: null or string

LSP Implementations [Telescope]

Default: "<leader>fli"

vim.telescope.mappings.lspReferences Link copied!

Type: null or string

LSP References [Telescope]

Default: "<leader>flr"

vim.telescope.mappings.lspTypeDefinitions Link copied!

Type: null or string

LSP Type Definitions [Telescope]

Default: "<leader>flt"

vim.telescope.mappings.lspWorkspaceSymbols Link copied!

Type: null or string

LSP Workspace Symbols [Telescope]

Default: "<leader>flsw"

vim.telescope.mappings.open Link copied!

Type: null or string

Open [Telescope]

Default: "<leader>ft"

vim.telescope.mappings.resume Link copied!

Type: null or string

Resume (previous search) [Telescope]

Default: "<leader>fr"

vim.telescope.mappings.treesitter Link copied!

Type: null or string

Treesitter [Telescope]

Default: "<leader>fs"

vim.telescope.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of Telescope.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.terminal.toggleterm.enable Link copied!

Type: boolean

Whether to enable toggleterm as a replacement to built-in terminal command.

Default: false
Example: true

vim.terminal.toggleterm.lazygit.direction Link copied!

Type: one of "horizontal", "vertical", "tab", "float"

Direction of the lazygit window

Default: "float"

vim.terminal.toggleterm.lazygit.enable Link copied!

Type: boolean

Whether to enable LazyGit integration.

Default: false
Example: true

vim.terminal.toggleterm.lazygit.mappings.open Link copied!

Type: null or string

Open lazygit [toggleterm]

Default: "<leader>gg"

vim.terminal.toggleterm.lazygit.package Link copied!

Type: null or package

The package that should be used for lazygit.

Setting this option to null will instead attempt to use lazygit from your PATH

Default: pkgs.lazygit

vim.terminal.toggleterm.mappings.open Link copied!

Type: null or string

Open toggleterm

Default: "<c-t>"

vim.terminal.toggleterm.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of ToggleTerm.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.theme.base16-colors.base00 Link copied!

Type: RGB color in hex format

The base00 color to use

vim.theme.base16-colors.base01 Link copied!

Type: RGB color in hex format

The base01 color to use

vim.theme.base16-colors.base02 Link copied!

Type: RGB color in hex format

The base02 color to use

vim.theme.base16-colors.base03 Link copied!

Type: RGB color in hex format

The base03 color to use

vim.theme.base16-colors.base04 Link copied!

Type: RGB color in hex format

The base04 color to use

vim.theme.base16-colors.base05 Link copied!

Type: RGB color in hex format

The base05 color to use

vim.theme.base16-colors.base06 Link copied!

Type: RGB color in hex format

The base06 color to use

vim.theme.base16-colors.base07 Link copied!

Type: RGB color in hex format

The base07 color to use

vim.theme.base16-colors.base08 Link copied!

Type: RGB color in hex format

The base08 color to use

vim.theme.base16-colors.base09 Link copied!

Type: RGB color in hex format

The base09 color to use

vim.theme.base16-colors.base0A Link copied!

Type: RGB color in hex format

The base0A color to use

vim.theme.base16-colors.base0B Link copied!

Type: RGB color in hex format

The base0B color to use

vim.theme.base16-colors.base0C Link copied!

Type: RGB color in hex format

The base0C color to use

vim.theme.base16-colors.base0D Link copied!

Type: RGB color in hex format

The base0D color to use

vim.theme.base16-colors.base0E Link copied!

Type: RGB color in hex format

The base0E color to use

vim.theme.base16-colors.base0F Link copied!

Type: RGB color in hex format

The base0F color to use

vim.theme.enable Link copied!

Type: boolean

Enable theming

vim.theme.extraConfig Link copied!

Type: strings concatenated with "\n"

Additional lua configuration to add before setup

vim.theme.name Link copied!

Type: one of "base16", "catppuccin", "dracula", "everforest", "github", "gruber-darker", "gruvbox", "mellow", "mini-base16", "nord", "onedark", "oxocarbon", "rose-pine", "solarized", "solarized-osaka", "tokyonight"

Supported themes can be found in supportedThemes.nix. Setting the theme to "base16" enables base16 theming and requires all of the colors in vim.theme.base16-colors to be set.

vim.theme.style Link copied!

Type: one of "dark", "darker", "cool", "deep", "warm", "warmer"

Specific style for theme if it supports it

vim.theme.transparent Link copied!

Type: boolean

Whether or not transparency should be enabled. Has no effect for themes that do not support transparency

Default: false

vim.treesitter.addDefaultGrammars Link copied!

Type: boolean

Whether to add the default grammars to the list of grammars to install.

This option is only relevant if treesitter has been enabled.

Default: true

vim.treesitter.autotagHtml Link copied!

Type: boolean

Whether to enable autoclose and rename html tag.

Default: false
Example: true

vim.treesitter.context.enable Link copied!

Type: boolean

Whether to enable context of current buffer contents [nvim-treesitter-context] .

Default: false
Example: true

vim.treesitter.context.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of treesitter-context.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.treesitter.enable Link copied!

Type: boolean

Whether to enable treesitter, also enabled automatically through language options.

Default: false
Example: true

vim.treesitter.filetypeMappings Link copied!

Type: attribute set of list of string

For each parser, registers a list of alternative filetypes. For more information see :h vim.treesitter.language.register(). See treesitter builtin mappings here: <https://github.com/nvim-treesitter/nvim-treesitter/blob/main/plugin/filetypes.lua>

Default: { }
Example:
{
  sh = [
    "ash"
    "dash"
  ];
}

vim.treesitter.fold Link copied!

Type: boolean

Whether to enable fold with treesitter.

Default: false
Example: true

vim.treesitter.grammars Link copied!

Type: list of (null or package)

List of treesitter grammars to install. For grammars to be installed properly, you must use grammars from one of those:

  • pkgs.vimPlugins.nvim-treesitter.parsers
  • pkgs.vimPlugins.nvim-treesitter.grammarPlugins
  • pkgs.tree-sitter-grammars (mostly untested)

You can use pkgs.vimPlugins.nvim-treesitter.allGrammars to install all grammars shipped with nvim-treesitter.

For languages already supported by nvf, you may use vim.language.<lang>.treesitter options, which will automatically add the required grammars to this.

Default: [ ]
Example:
with pkgs.vimPlugins.nvim-treesitter.grammarPlugins; [
  regex
  kdl
];

vim.treesitter.highlight.enable Link copied!

Type: boolean

Whether to enable highlighting with treesitter.

Default: true
Example: true

vim.treesitter.indent.enable Link copied!

Type: boolean

Whether to enable indentation with treesitter.

Default: true
Example: true

vim.treesitter.indent.excludes Link copied!

Type: list of string

Exclude the listed filetypes from using treesitter indentation.

Default: [ ]
Example: ["haskell", "purescript"]

vim.treesitter.indent.pattern Link copied!

Type: string or list of string

Specify the filetype pattern(s) for which the treesitter indentation should be used.

See :h autocmd-pattern.

Default: "*"
Example: ["lua" "nix"]

vim.treesitter.queries Link copied!

Type: list of (submodule)

A list of Neovim treesitter queries to be registered.

Default: [ ]

vim.treesitter.queries.*.filetypes Link copied!

Type: list of string

The filetypes for which the query should be registered.

Default: [ ]

vim.treesitter.queries.*.query Link copied!

Type: strings concatenated with "\n"

The queries scm script.

Example:
```nix
{
  query = ''
    ;; extends

    ((apply_expression
      function: (variable_expression
        name: (identifier) @_func
        (#eq? @_func "mkLuaInline"))

      argument: (indented_string_expression
        (string_fragment) @injection.content)

      (#set! injection.language "lua")
      (#set! injection.combined)))
  '';
}
```

vim.treesitter.queries.*.type Link copied!

Type: one of "injections", "highlights", "folds", "locals", "indents"

The kind of query to register.

vim.treesitter.textobjects.enable Link copied!

Type: boolean

Whether to enable Treesitter textobjects.

Default: false
Example: true

vim.treesitter.textobjects.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of treesitter-textobjects.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }
Example:
{
  select = {
    enable = true;
    keymaps = {
      af = "@function.outer";
    };
    lookahead = true;
  };
}

vim.ui.borders.enable Link copied!

Type: boolean

Whether to enable visible borders for most windows.

Default: false
Example: true

vim.ui.borders.globalStyle Link copied!

Type: one of "none", "single", "double", "rounded", "solid", "shadow" or list of (string or list of string)

The global border style to use.

If a list is given, it should have a length of eight or any divisor of eight. The array will specify the eight chars building up the border in a clockwise fashion starting with the top-left corner. You can specify a different highlight group for each character by passing a [char, "YourHighlightGroup"] instead

Default: "rounded"
Example:
[
  "╔"
  "═"
  "╗"
  "║"
  "╝"
  "═"
  "╚"
  "║"
]

vim.ui.borders.plugins.fastaction.enable Link copied!

Type: boolean

Whether to enable borders for the fastaction plugin.

Default: false
Example: true

vim.ui.borders.plugins.fastaction.style Link copied!

Type: one of "none", "single", "double", "rounded", "solid", "shadow" or list of (string or list of string)

The border style to use for the fastaction plugin

Default: "rounded"

vim.ui.borders.plugins.lsp-signature.enable Link copied!

Type: boolean

Whether to enable borders for the lsp-signature plugin.

Default: false
Example: true

vim.ui.borders.plugins.lsp-signature.style Link copied!

Type: one of "none", "single", "double", "rounded", "solid", "shadow" or list of (string or list of string)

The border style to use for the lsp-signature plugin

Default: "rounded"

vim.ui.borders.plugins.lspsaga.enable Link copied!

Type: boolean

Whether to enable borders for the lspsaga plugin.

Default: false
Example: true

vim.ui.borders.plugins.lspsaga.style Link copied!

Type: one of "none", "single", "double", "rounded", "solid", "shadow" or list of (string or list of string)

The border style to use for the lspsaga plugin

Default: "rounded"

vim.ui.borders.plugins.nvim-cmp.enable Link copied!

Type: boolean

Whether to enable borders for the nvim-cmp plugin.

Default: false
Example: true

vim.ui.borders.plugins.nvim-cmp.style Link copied!

Type: one of "none", "single", "double", "rounded", "solid", "shadow" or list of (string or list of string)

The border style to use for the nvim-cmp plugin

Default: "rounded"

vim.ui.borders.plugins.which-key.enable Link copied!

Type: boolean

Whether to enable borders for the which-key plugin.

Default: false
Example: true

vim.ui.borders.plugins.which-key.style Link copied!

Type: one of "none", "single", "double", "rounded", "solid", "shadow" or list of (string or list of string)

The border style to use for the which-key plugin

Default: "rounded"

vim.ui.breadcrumbs.enable Link copied!

Type: boolean

Whether to enable breadcrumbs.

Default: false
Example: true

vim.ui.breadcrumbs.lualine.winbar.alwaysRender Link copied!

Type: boolean

Whether to always display the breadcrumbs component on winbar.

Note

This will pass draw_empty to the nvim_navic winbar component, which causes the component to be drawn even if it's empty.

Default: true
Example: false

vim.ui.breadcrumbs.lualine.winbar.enable Link copied!

Type: boolean

Whether to automatically configure a winbar component for Lualine on the Winbar section.

Note

This is set to true by default, which means nvim-navic will occupy winbar.lualine_c for the breadcrumbs feature unless this option is set to false.

Default: true
Example: false

vim.ui.breadcrumbs.navbuddy.enable Link copied!

Type: boolean

Whether to enable navbuddy LSP helper UI. Enabling this option automatically loads and enables nvim-navic.

Default: false
Example: true

vim.ui.breadcrumbs.navbuddy.mappings.appendName Link copied!

Type: null or string

Insert at the end of name.

Default: "a"

vim.ui.breadcrumbs.navbuddy.mappings.appendScope Link copied!

Type: null or string

Insert at the end of scope.

Default: "A"

vim.ui.breadcrumbs.navbuddy.mappings.children Link copied!

Type: null or string

Navigate to the child node.

Default: "l"

vim.ui.breadcrumbs.navbuddy.mappings.close Link copied!

Type: null or string

Close and return the cursor to its original location.

Default: "<esc>"

vim.ui.breadcrumbs.navbuddy.mappings.comment Link copied!

Type: null or string

Comment the node.

Default: "c"

vim.ui.breadcrumbs.navbuddy.mappings.delete Link copied!

Type: null or string

Delete the node.

Default: "d"

vim.ui.breadcrumbs.navbuddy.mappings.foldCreate Link copied!

Type: null or string

Create a new fold of the node.

Default: "f"

vim.ui.breadcrumbs.navbuddy.mappings.foldDelete Link copied!

Type: null or string

Delete the current fold of the node.

Default: "F"

vim.ui.breadcrumbs.navbuddy.mappings.help Link copied!

Type: null or string

Open the mappings help window.

Default: "g?"

vim.ui.breadcrumbs.navbuddy.mappings.hsplit Link copied!

Type: null or string

Open the node in a horizontal split.

Default: "<C-s>"

vim.ui.breadcrumbs.navbuddy.mappings.insertName Link copied!

Type: null or string

Insert at the start of name.

Default: "i"

vim.ui.breadcrumbs.navbuddy.mappings.insertScope Link copied!

Type: null or string

Insert at the start of scope.

Default: "I"

vim.ui.breadcrumbs.navbuddy.mappings.moveDown Link copied!

Type: null or string

Move the node down.

Default: "J"

vim.ui.breadcrumbs.navbuddy.mappings.moveUp Link copied!

Type: null or string

Move the node up.

Default: "K"

vim.ui.breadcrumbs.navbuddy.mappings.nextSibling Link copied!

Type: null or string

Navigate to the next sibling node.

Default: "j"

vim.ui.breadcrumbs.navbuddy.mappings.parent Link copied!

Type: null or string

Navigate to the parent node.

Default: "h"

vim.ui.breadcrumbs.navbuddy.mappings.previousSibling Link copied!

Type: null or string

Navigate to the previous sibling node.

Default: "k"

vim.ui.breadcrumbs.navbuddy.mappings.rename Link copied!

Type: null or string

Rename the node.

Default: "r"

vim.ui.breadcrumbs.navbuddy.mappings.root Link copied!

Type: null or string

Navigate to the root node.

Default: "0"

vim.ui.breadcrumbs.navbuddy.mappings.select Link copied!

Type: null or string

Goto the node.

Default: "<enter>"

vim.ui.breadcrumbs.navbuddy.mappings.telescope Link copied!

Type: null or string

Start fuzzy finder at the current level.

Default: "t"

vim.ui.breadcrumbs.navbuddy.mappings.togglePreview Link copied!

Type: null or string

Toggle the preview.

Default: "s"

vim.ui.breadcrumbs.navbuddy.mappings.visualName Link copied!

Type: null or string

Select the name visually.

Default: "v"

vim.ui.breadcrumbs.navbuddy.mappings.visualScope Link copied!

Type: null or string

Select the scope visually.

Default: "V"

vim.ui.breadcrumbs.navbuddy.mappings.vsplit Link copied!

Type: null or string

Open the node in a vertical split.

Default: "<C-v>"

vim.ui.breadcrumbs.navbuddy.mappings.yankName Link copied!

Type: null or string

Yank the name to system clipboard.

Default: "y"

vim.ui.breadcrumbs.navbuddy.mappings.yankScope Link copied!

Type: null or string

Yank the scope to system clipboard.

Default: "Y"

vim.ui.breadcrumbs.navbuddy.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of navbuddy.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.ui.breadcrumbs.source Link copied!

Type: null or value "nvim-navic" (singular enum)

The source to be used for breadcrumbs component. Null means no breadcrumbs.

Default: "nvim-navic"

vim.ui.colorful-menu-nvim.enable Link copied!

Type: boolean

Whether to enable treesitter highlighted completion menus [colorful-menu.nvim].

Default: false
Example: true

vim.ui.colorful-menu-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of colorful-menu-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.ui.colorizer.enable Link copied!

Type: boolean

Whether to enable color highlighting [nvim-colorizer.lua].

Default: false
Example: true

vim.ui.colorizer.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of colorizer.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.ui.fastaction.enable Link copied!

Type: boolean

Whether to enable overriding vim.ui.select with fastaction.nvim.

Default: false
Example: true

vim.ui.fastaction.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of fastaction.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.ui.illuminate.enable Link copied!

Type: boolean

Whether to enable automatically highlight other uses of the word under the cursor [vim-illuminate] .

Default: false
Example: true

vim.ui.illuminate.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of vim-illuminate.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.ui.modes-nvim.enable Link copied!

Type: boolean

Whether to enable modes.nvim's prismatic line decorations.

Default: false
Example: true

vim.ui.modes-nvim.setupOpts.colors Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of modes.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.ui.modes-nvim.setupOpts.line_opacity.visual Link copied!

Type: floating point number

Set opacity for cursorline and number background

Default: 0.0

vim.ui.modes-nvim.setupOpts.setCursorline Link copied!

Type: boolean

Set a colored cursorline on current line

Default: false

vim.ui.noice.enable Link copied!

Type: boolean

Whether to enable noice.nvim UI modification library.

Default: false
Example: true

vim.ui.noice.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of noice.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.ui.nvim-highlight-colors.enable Link copied!

Type: boolean

Whether to enable color highlighting [nvim-highlight-colors.lua].

Default: false
Example: true

vim.ui.nvim-highlight-colors.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of nvim-highlight-colors.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.ui.nvim-ufo.enable Link copied!

Type: boolean

Whether to enable nvim-ufo.

Default: false
Example: true

vim.ui.nvim-ufo.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of nvim-ufo.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.ui.smartcolumn.enable Link copied!

Type: boolean

Whether to enable line length indicator.

Default: false
Example: true

vim.ui.smartcolumn.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of smartcolumn.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.ui.ui2.enable Link copied!

Type: boolean

Whether to enable the Neovim 0.12+ experimental built-in UI overhaul.

Default: false
Example: true

vim.ui.ui2.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of ui2.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.undoFile.enable Link copied!

Type: boolean

Whether to enable undofile for persistent undo behaviour.

Default: false
Example: true

vim.undoFile.path Link copied!

Type: string or (luaInline)

Path to the directory in which undo history will be stored

Default: ```nix mkLuaInline "vim.fn.stdpath('state') .. '/undo'" ```
Example:
```nix
mkLuaInline "os.getenv('XDG_DATA_HOME') .. '/nvf/undo'"
```

vim.utility.ccc.enable Link copied!

Type: boolean

Whether to enable ccc color picker for neovim.

Default: false
Example: true

vim.utility.ccc.mappings.decrease10 Link copied!

Type: null or string

Decrease the value times delta of the slider

Default: "<H>"

vim.utility.ccc.mappings.increase10 Link copied!

Type: null or string

Increase the value times delta of the slider

Default: "<L>"

vim.utility.ccc.mappings.quit Link copied!

Type: null or string

Cancel and close the UI without replace or insert

Default: "<Esc>"

vim.utility.ccc.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of ccc.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.crazy-coverage.enable Link copied!

Type: boolean

Whether to enable coverage for neovim.

Default: false
Example: true

vim.utility.crazy-coverage.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of crazy-coverage.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.csvview.autoEnable Link copied!

Type: boolean

Whether to enable Automatically enable the CSV view when opening CSV/TSV files. .

Default: true
Example: true

vim.utility.csvview.enable Link copied!

Type: boolean

Whether to enable View CSV/TSV files as aligned tables [csvview.nvim].

Default: false
Example: true

vim.utility.csvview.mappings.toggle Link copied!

Type: null or string

Toggle CSV view [csvview]

Default: "<leader>tc"

vim.utility.csvview.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of csvview.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.diffview-nvim.enable Link copied!

Type: boolean

Whether to enable diffview-nvim: cycle through diffs for all modified files for any git rev.

Default: false
Example: true

vim.utility.diffview-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of Fidget.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.direnv.enable Link copied!

Type: boolean

Whether to enable syncing nvim shell environment with direnv's using direnv.vim.

Default: false
Example: true

vim.utility.grug-far-nvim.enable Link copied!

Type: boolean

Whether to enable grug-far.

Default: false
Example: true

vim.utility.grug-far-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of grug-far.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.icon-picker.enable Link copied!

Type: boolean

Whether to enable nerdfonts icon picker for nvim.

Default: false
Example: true

vim.utility.images.image-nvim.enable Link copied!

Type: boolean

Whether to enable image support in Neovim [image.nvim]. See <https://github.com/3rd/image.nvim#default-configuration> for all configuration options. .

Default: false
Example: true

vim.utility.images.image-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of image.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.images.img-clip.enable Link copied!

Type: boolean

Whether to enable img-clip to paste images into any markup language.

Default: false
Example: true

vim.utility.images.img-clip.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of img-clip.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.leetcode-nvim.enable Link copied!

Type: boolean

Whether to enable complementary neovim plugin for leetcode.nvim.

Default: false
Example: true

vim.utility.leetcode-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of leetcode-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.mkdir.enable Link copied!

Type: boolean

Whether to enable parent directory creation when editing a nested path that does not exist using mkdir.nvim .

Default: false
Example: true

vim.utility.motion.flash-nvim.enable Link copied!

Type: boolean

Whether to enable enhanced code navigation with flash.nvim.

Default: false
Example: true

vim.utility.motion.flash-nvim.mappings.jump Link copied!

Type: null or string

Jump

Default: "s"

vim.utility.motion.flash-nvim.mappings.remote Link copied!

Type: null or string

Remote Flash

Default: "r"

vim.utility.motion.flash-nvim.mappings.toggle Link copied!

Type: null or string

Toggle Flash Search

Default: "<c-s>"

vim.utility.motion.flash-nvim.mappings.treesitter Link copied!

Type: null or string

Treesitter

Default: "S"

vim.utility.motion.flash-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of flash-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.motion.hop.enable Link copied!

Type: boolean

Whether to enable Hop.nvim plugin (easy motion).

Default: false
Example: true

vim.utility.motion.hop.mappings.hop Link copied!

Type: null or string

Jump to occurrences [hop.nvim]

Default: "<leader>h"

vim.utility.motion.hop.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of hop.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.motion.leap.enable Link copied!

Type: boolean

Whether to enable leap.nvim plugin (easy motion).

Default: false
Example: true

vim.utility.motion.leap.mappings.leapBackwardTill Link copied!

Type: null or string

Leap backward till

Default: "<leader>sX"

vim.utility.motion.leap.mappings.leapBackwardTo Link copied!

Type: null or string

Leap backward to

Default: "<leader>sS"

vim.utility.motion.leap.mappings.leapForwardTill Link copied!

Type: null or string

Leap forward till

Default: "<leader>sx"

vim.utility.motion.leap.mappings.leapForwardTo Link copied!

Type: null or string

Leap forward to

Default: "<leader>ss"

vim.utility.motion.leap.mappings.leapFromWindow Link copied!

Type: null or string

Leap from window

Default: "gs"

vim.utility.motion.precognition.enable Link copied!

Type: boolean

Whether to enable assisted motion discovery[precognition.nvim].

Default: false
Example: true

vim.utility.motion.precognition.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of precognition.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.multicursors.enable Link copied!

Type: boolean

Whether to enable vscode like multiple cursors [multicursor.nvim].

Default: false
Example: true

vim.utility.multicursors.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of multicursors.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.new-file-template.enable Link copied!

Type: boolean

new-file-template.nvim: Automatically insert a template on new files in neovim.

Note

For custom templates add a directory containing lua/templates/*.lua to vim.additionalRuntimePaths.

More documentation on the templates available at custom-template-docs

Default: false

vim.utility.new-file-template.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of nvim-file-template.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.nix-develop.enable Link copied!

Type: boolean

Whether to enable in-neovim nix develop, nix shell, and more using nix-develop.nvim.

Default: false
Example: true

vim.utility.nvim-biscuits.enable Link copied!

Type: boolean

Whether to enable a Neovim port of Assorted Biscuits [nvim-biscuits].

Default: false
Example: true

vim.utility.nvim-biscuits.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of nvim-biscuits.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.oil-nvim.enable Link copied!

Type: boolean

Whether to enable Neovim file explorer: edit your filesystem like a buffer [oil-nvim] .

Default: false
Example: true

vim.utility.oil-nvim.gitStatus.enable Link copied!

Type: boolean

Whether to enable Git status on [oil-nvim] directory listings .

Default: false
Example: true

vim.utility.oil-nvim.gitStatus.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of oil-git-status-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.oil-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of oil-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.outline.aerial-nvim.enable Link copied!

Type: boolean

Whether to enable Aerial.nvim.

Default: false
Example: true

vim.utility.outline.aerial-nvim.mappings.toggle Link copied!

Type: null or string

Toggle aerial window

Default: "gO"

vim.utility.outline.aerial-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of aerial.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.preview.glow.enable Link copied!

Type: boolean

Whether to enable markdown preview in neovim with glow.

Default: false
Example: true

vim.utility.preview.glow.mappings.openPreview Link copied!

Type: null or string

Open preview

Default: "<leader>p"

vim.utility.preview.glow.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of glow.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.preview.markdownPreview.alwaysAllowPreview Link copied!

Type: boolean

Allow preview on all filetypes

Default: false

vim.utility.preview.markdownPreview.autoClose Link copied!

Type: boolean

Automatically close the preview window after leaving a Markdown buffer

Default: true

vim.utility.preview.markdownPreview.autoStart Link copied!

Type: boolean

Automatically open the preview window after entering a Markdown buffer

Default: false

vim.utility.preview.markdownPreview.broadcastServer Link copied!

Type: boolean

Allow for outside and network wide connections

Default: false

vim.utility.preview.markdownPreview.enable Link copied!

Type: boolean

Whether to enable Markdown preview in neovim with markdown-preview.nvim.

Default: false
Example: true

vim.utility.preview.markdownPreview.filetypes Link copied!

Type: list of string

Allowed filetypes

Default: [ "markdown" ]

vim.utility.preview.markdownPreview.lazyRefresh Link copied!

Type: boolean

Only update preview when saving or leaving insert mode

Default: false

vim.utility.qmk-nvim.enable Link copied!

Type: boolean

Whether to enable QMK and ZMK keymaps in nvim.

Default: false
Example: true

vim.utility.qmk-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of qmk.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.sleuth.enable Link copied!

Type: boolean

Whether to enable automatically adjusting options such as shiftwidth or expandtab, using vim-sleuth .

Default: false
Example: true

vim.utility.smart-splits.enable Link copied!

Type: boolean

Whether to enable smart-splits.nvim, a Neovim plugin for smart, seamless, directional navigation and resizing of splits.

Supports tmux, Wezterm, Kitty, and Zellij multiplexer integrations.

Default: false

vim.utility.smart-splits.keymaps.move_cursor_down Link copied!

Type: null or string

Focus Window/Pane Below

Default: "<C-j>"

vim.utility.smart-splits.keymaps.move_cursor_left Link copied!

Type: null or string

Focus Window/Pane on the Left

Default: "<C-h>"

vim.utility.smart-splits.keymaps.move_cursor_previous Link copied!

Type: null or string

Focus Previous Window/Pane

Default: "<C-\\>"

vim.utility.smart-splits.keymaps.move_cursor_right Link copied!

Type: null or string

Focus Window/Pane on the Right

Default: "<C-l>"

vim.utility.smart-splits.keymaps.move_cursor_up Link copied!

Type: null or string

Focus Window/Pane Above

Default: "<C-k>"

vim.utility.smart-splits.keymaps.resize_down Link copied!

Type: null or string

Resize Window/Pane Down

Default: "<A-j>"

vim.utility.smart-splits.keymaps.resize_left Link copied!

Type: null or string

Resize Window/Pane Left

Default: "<A-h>"

vim.utility.smart-splits.keymaps.resize_right Link copied!

Type: null or string

Resize Window/Pane Right

Default: "<A-l>"

vim.utility.smart-splits.keymaps.resize_up Link copied!

Type: null or string

Resize Window/Pane Up

Default: "<A-k>"

vim.utility.smart-splits.keymaps.swap_buf_down Link copied!

Type: null or string

Swap Buffer Down

Default: "<leader><leader>j"

vim.utility.smart-splits.keymaps.swap_buf_left Link copied!

Type: null or string

Swap Buffer Left

Default: "<leader><leader>h"

vim.utility.smart-splits.keymaps.swap_buf_right Link copied!

Type: null or string

Swap Buffer Right

Default: "<leader><leader>l"

vim.utility.smart-splits.keymaps.swap_buf_up Link copied!

Type: null or string

Swap Buffer Up

Default: "<leader><leader>k"

vim.utility.smart-splits.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of smart-splits.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.snacks-nvim.enable Link copied!

Type: boolean

Whether to enable collection of QoL plugins for Neovim [snacks-nvim] .

Default: false
Example: true

vim.utility.snacks-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of snacks-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.surround.enable Link copied!

Type: boolean

Whether to enable nvim-surround, Neovim plugin to add/change/delete surrounding delimiter pairs with ease.

Note

The default mappings deviate from upstream to avoid conflicts with nvim-leap. You may change those in your configuration if you do not use nvim-leap

Default: false

vim.utility.surround.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of nvim-surround.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.surround.useVendoredKeybindings Link copied!

Type: boolean

Use alternative set of keybindings that avoids conflicts with other popular plugins, e.g. nvim-leap

Default: config.vim.vendoredKeymaps.enable

vim.utility.undotree.enable Link copied!

Type: boolean

Whether to enable undo history visualizer for Vim [undotree].

Default: false
Example: true

vim.utility.vim-wakatime.enable Link copied!

Type: boolean

Whether to enable automatic time tracking and metrics generated from your programming activity [vim-wakatime] .

Default: false
Example: true

vim.utility.vim-wakatime.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of vim-wakatime.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.yanky-nvim.enable Link copied!

Type: boolean

Whether to enable improved Yank and Put functionalities for Neovim [yanky-nvim] .

Default: false
Example: true

vim.utility.yanky-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of yanky-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.utility.yazi-nvim.enable Link copied!

Type: boolean

Whether to enable companion plugin for the yazi terminal file manager [yazi-nvim] .

Default: false
Example: true

vim.utility.yazi-nvim.mappings.openYazi Link copied!

Type: null or string

Open yazi at the current file [yazi.nvim]

Default: "<leader>-"

vim.utility.yazi-nvim.mappings.openYaziDir Link copied!

Type: null or string

Open the file manager in nvim's working directory [yazi.nvim]

Default: "<leader>cw"

vim.utility.yazi-nvim.mappings.yaziToggle Link copied!

Type: null or string

Resume the last yazi session [yazi.nvim]

Default: "<c-up>"

vim.utility.yazi-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of yazi-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.vendoredKeymaps.enable Link copied!

Type: boolean

Whether to enable this project's vendored keymaps by default.

Default: true
Example: false

vim.viAlias Link copied!

Type: boolean

Enable the vi alias for nvim

Default: true
Example: false

vim.vimAlias Link copied!

Type: boolean

Enable the vim alias for nvim

Default: true
Example: false

vim.visuals.cellular-automaton.animation.register Link copied!

Type: boolean

Whether to enable registering configured animation(s) automatically.

Default: true
Example: true

vim.visuals.cellular-automaton.animation.setup Link copied!

Type: luaInline

Configuration used to generate an animation to be registered.

The final value for ca_config will be used to register a new animation using require("cellular-automaton").register_animation(ca_config)

Warning

ca_config must eval to a valid Lua table. nvf does not and cannot perform any kind of validation on your Lua code, so bogus values will result in errors when the animation is registered.

Default: { _type = "lua-inline"; expr = '' local ca_config = { fps = 50, name = 'slide', } -- init function is invoked only once at the start -- config.init = function (grid) -- -- end -- update function ca_config.update = function (grid) for i = 1, #grid do local prev = grid[i][#(grid[i])] for j = 1, #(grid[i]) do grid[i][j], prev = prev, grid[i][j] end end return true end ''; }

vim.visuals.cellular-automaton.enable Link copied!

Type: boolean

Whether to enable cellular-automaton to help you cope with stubborn code [cellular-automaton].

Default: false
Example: true

vim.visuals.cellular-automaton.mappings.makeItRain Link copied!

Type: null or string

Make it rain [cellular-automaton]

Default: "<leader>fml"

vim.visuals.cinnamon-nvim.enable Link copied!

Type: boolean

Whether to enable smooth scrolling for ANY command [cinnamon-nvim].

Default: false
Example: true

vim.visuals.cinnamon-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of cinnamon.nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.visuals.fidget-nvim.enable Link copied!

Type: boolean

Whether to enable nvim LSP UI element [fidget-nvim].

Default: false
Example: true

vim.visuals.fidget-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of Fidget.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.visuals.highlight-undo.enable Link copied!

Type: boolean

Whether to enable highlight undo [highlight-undo].

Default: false
Example: true

vim.visuals.highlight-undo.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of highlight-undo.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.visuals.hlargs-nvim.enable Link copied!

Type: boolean

Whether to enable hlargs-nvim.

Default: false
Example: true

vim.visuals.hlargs-nvim.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of hlargs-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.visuals.indent-blankline.enable Link copied!

Type: boolean

Whether to enable indentation guides [indent-blankline].

Default: false
Example: true

vim.visuals.indent-blankline.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of indent-blankline.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.visuals.nvim-cursorline.enable Link copied!

Type: boolean

Whether to enable cursor word and line highlighting [nvim-cursorline].

Default: false
Example: true

vim.visuals.nvim-cursorline.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of nvim-cursorline.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.visuals.nvim-scrollbar.enable Link copied!

Type: boolean

Whether to enable extensible Neovim Scrollbar [nvim-scrollbar].

Default: false
Example: true

vim.visuals.nvim-scrollbar.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of scrollbar-nvim.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.visuals.nvim-web-devicons.enable Link copied!

Type: boolean

Whether to enable Neovim dev icons [nvim-web-devicons].

Default: false
Example: true

vim.visuals.nvim-web-devicons.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of nvim-web-devicons.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.visuals.rainbow-delimiters.enable Link copied!

Type: boolean

Whether to enable rainbow-delimiters.

Default: false
Example: true

vim.visuals.rainbow-delimiters.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of rainbow-delimiters.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.visuals.syntax-gaslighting.enable Link copied!

Type: boolean

Whether to enable Thats no even a real option, you're crazy..

Default: false
Example: true

vim.visuals.syntax-gaslighting.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of syntax-gaslighting.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.visuals.tiny-devicons-auto-colors.enable Link copied!

Type: boolean

Whether to enable alternative nvim-web-devicons icon colors [tiny-devicons-auto-colors].

Default: false
Example: true

vim.visuals.tiny-devicons-auto-colors.setupOpts Link copied!

Type: (open submodule of anything) or (luaInline)

Option table to pass into the setup function of tiny-devicons-auto-colors.

Accepts either an attribute set of options, or a raw Lua expression via lib.mkLuaInline. When set to a luaInline value, the expression is passed verbatim as the argument to setup().

You can pass in any additional options even if they're not listed in the docs.

Default: { }

vim.withNodeJs Link copied!

Type: boolean

Whether to enable NodeJS support in the Neovim wrapper .

Default: false
Example: true

vim.withPython3 Link copied!

Type: boolean

Whether to enable Python3 support in the Neovim wrapper .

Default: false
Example: true

vim.withRuby Link copied!

Type: boolean

Whether to enable Ruby support in the Neovim wrapper .

Default: false
Example: true