Neovim Flake by Gabriel Volpe

Configuration options for neovim-flake

# vim.autoIndent

boolean

Enable auto indent

Default:

Example:

Declarations

# vim.autocomplete.enable

boolean

enable autocomplete (nvim-cmp)

Default: false

Example:

Declarations

# vim.autopairs.checkTS

boolean

Whether to check treesitter for a pair

Default:

Example:

Declarations

# vim.autopairs.enable

boolean

enable autopairs

Default:

Example:

Declarations

# vim.autopairs.type

value "nvim-autopairs" (singular enum)

Set the autopairs type. Options: nvim-autopairs [nvim-autopairs]

Default:

Example:

Declarations

# vim.bell

one of "none", "visual", "on"

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

Default:

Example:

Declarations

# vim.chatgpt.enable

boolean

Enable ChatGPT.nvim plugin

Default:

Example:

Declarations

# vim.chatgpt.openaiApiKey

null or string

The OpenAI API KEY (can also be set as an env variable)

Default: null

Example:

Declarations

# vim.cmap

attribute set of (null or string)

Defines 'Command-line mode' mappings

Default: { }

Example:

Declarations

# vim.cmdHeight

signed integer

Height of the command pane

Default:

Example:

Declarations

# vim.cnoremap

attribute set of (null or string)

Defines 'Command-line mode' mappings

Default: { }

Example:

Declarations

# vim.colourTerm

boolean

Set terminal up for 256 colours

Default:

Example:

Declarations

# vim.comments.enable

boolean

enable comments plugin

Default: false

Example:

Declarations

# vim.comments.type

one of "nerdcommenter", "kommentary"

Set the comments plugin. Options: [nerdcommenter] [kommentary]

Default: "nerdcommenter"

Example:

Declarations

# vim.configRC

strings concatenated with "\n"

vimrc contents

Default: ""

Example:

Declarations

# vim.customPlugins

list of package

List of custom scripts

Default: [ ]

Example:

Declarations

# vim.dial.enable

boolean

Enable dial.nvim plugin (enhanced incr/decr)

Default:

Example:

Declarations

# vim.disableArrows

boolean

Set to prevent arrow keys from moving cursor

Default:

Example:

Declarations

# vim.filetree.nvimTreeLua.closeOnFileOpen

boolean

Close the tree when a file is opened

Default: false

Example:

Declarations

# vim.filetree.nvimTreeLua.closeOnLastWindow

boolean

Close when tree is last window open

Default: true

Example:

Declarations

# vim.filetree.nvimTreeLua.disableNetRW

boolean

Disables netrw and replaces it with tree

Default: false

Example:

Declarations

# vim.filetree.nvimTreeLua.enable

boolean

Enable nvim-tree-lua

Default: false

Example:

Declarations

# vim.filetree.nvimTreeLua.followBufferFile

boolean

Follow file that is in current buffer on tree

Default: true

Example:

Declarations

# vim.filetree.nvimTreeLua.groupEmptyFolders

boolean

Compact empty folders trees into a single item

Default: true

Example:

Declarations

# vim.filetree.nvimTreeLua.hideDotFiles

boolean

Hide dotfiles

Default: false

Example:

Declarations

# vim.filetree.nvimTreeLua.hideFiles

list of string

Files to hide in the file view by default.

Default: [ ".git" "node_modules" ".cache" ]

Example:

Declarations

# vim.filetree.nvimTreeLua.hideIgnoredGitFiles

boolean

Hide files ignored by git

Default: false

Example:

Declarations

# vim.filetree.nvimTreeLua.hijackNetRW

boolean

Prevents netrw from automatically opening when opening directories

Default: true

Example:

Declarations

# vim.filetree.nvimTreeLua.ignoreFileTypes

list of string

Ignore file types

Default: [ ]

Example:

Declarations

# vim.filetree.nvimTreeLua.indentMarkers

boolean

Show indent markers

Default: true

Example:

Declarations

# vim.filetree.nvimTreeLua.lspDiagnostics

boolean

Shows lsp diagnostics in the tree

Default: true

Example:

Declarations

# vim.filetree.nvimTreeLua.openOnSetup

boolean

Open when vim is started on a directory

Default: true

Example:

Declarations

# vim.filetree.nvimTreeLua.openTreeOnNewTab

boolean

Opens the tree view when opening a new tab

Default: false

Example:

Declarations

# vim.filetree.nvimTreeLua.resizeOnFileOpen

boolean

Resize the tree window when a file is opened

Default: false

Example:

Declarations

# vim.filetree.nvimTreeLua.trailingSlash

boolean

Add a trailing slash to all folders

Default: true

Example:

Declarations

# vim.filetree.nvimTreeLua.treeSide

one of "left", "right"

Side the tree will appear on left or right

Default: "left"

Example:

Declarations

# vim.filetree.nvimTreeLua.treeWidth

signed integer

Width of the tree in charecters

Default: 25

Example:

Declarations

# vim.fx.automaton.enable

boolean

Enable Cellular Automaton

Default: false

Example:

Declarations

# vim.git.enable

boolean

Enable git plugins (diffview and vim-fugitive by default)

Default:

Example:

Declarations

# vim.git.gitsigns.enable

boolean

Enable gitsigns options

Default:

Example:

Declarations

# vim.git.neogit.enable

boolean

Enable neogit options

Default:

Example:

Declarations

# vim.globals

attribute set

Set containing global variable values

Default: { }

Example:

Declarations

# vim.harpoon.enable

boolean

Enable the Harpoon plugin (better marks-based navigation)

Default:

Example:

Declarations

# vim.hideSearchHighlight

boolean

Hide search highlight so it doesn't stay highlighted

Default:

Example:

Declarations

# vim.hop.enable

boolean

Enable Hop plugin (easy motion)

Default:

Example:

Declarations

# vim.imap

attribute set of (null or string)

Defines 'Insert and Replace mode' mappings

Default: { }

Example:

Declarations

# vim.inoremap

attribute set of (null or string)

Defines 'Insert and Replace mode' mappings

Default: { }

Example:

Declarations

# vim.keys.enable

boolean

Whether to enable key binding plugins.

Default: false

Example: true

Declarations

# vim.keys.whichKey.enable

boolean

Whether to enable which-key menu.

Default: false

Example: true

Declarations

# vim.lineNumberMode

one of "relative", "number", "relNumber", "none"

How line numbers are displayed. none, relative, number, relNumber

Default:

Example:

Declarations

# vim.lsp.clang

boolean

Whether to enable C language LSP.

Default: false

Example: true

Declarations

# vim.lsp.dhall

boolean

Whether to enable Dhall LSP.

Default: false

Example: true

Declarations

# vim.lsp.elm

boolean

Whether to enable Elm LSP.

Default: false

Example: true

Declarations

# vim.lsp.enable

boolean

Whether to enable neovim lsp support.

Default: false

Example: true

Declarations

# vim.lsp.folds

boolean

Whether to enable Folds via nvim-ufo.

Default: false

Example: true

Declarations

# vim.lsp.formatOnSave

boolean

Whether to enable Format on save.

Default: false

Example: true

Declarations

# vim.lsp.go

boolean

Whether to enable Go language LSP.

Default: false

Example: true

Declarations

# vim.lsp.haskell

boolean

Whether to enable Haskell LSP (hls).

Default: false

Example: true

Declarations

# vim.lsp.lightbulb.enable

boolean

Whether to enable lightbulb for code actions. Requires emoji font.

Default: false

Example: true

Declarations

# vim.lsp.lspSignature.enable

boolean

Whether to enable lsp signature viewer.

Default: false

Example: true

Declarations

# vim.lsp.lspsaga.enable

boolean

Whether to enable LSP Saga.

Default: false

Example: true

Declarations

# vim.lsp.nix.enable

boolean

Whether to enable Nix LSP.

Default: false

Example: true

Declarations

# vim.lsp.nix.type

one of "nixd", "nil", "rnix-lsp"

Whether to use `nixd`, `nil` or `rnix-lsp`

Default: "nil"

Example:

Declarations

# vim.lsp.nvimCodeActionMenu.enable

boolean

Whether to enable nvim code action menu.

Default: false

Example: true

Declarations

# vim.lsp.python

boolean

Whether to enable Python LSP.

Default: false

Example: true

Declarations

# vim.lsp.rust.enable

boolean

Whether to enable Rust LSP.

Default: false

Example: true

Declarations

# vim.lsp.rust.rustAnalyzerOpts

string

options to pass to rust analyzer

Default: '' ["rust-analyzer"] = { experimental = { procAttrMacros = true, }, }, ''

Example:

Declarations

# vim.lsp.scala.enable

boolean

Whether to enable Scala LSP (Metals).

Default: false

Example: true

Declarations

# vim.lsp.scala.metals

package

The Metals package to use. Default pkgs.metals.

Default: <derivation metals-1.2.2>

Example:

Declarations

# vim.lsp.smithy.enable

boolean

Whether to enable Smithy Language LSP.

Default: false

Example: true

Declarations

# vim.lsp.smithy.launcher

package

The launcher of the LSP server

Default: <derivation coursier-2.1.9>

Example:

Declarations

# vim.lsp.smithy.server.class

string

The Smithy LSP server main class

Default: "software.amazon.smithy.lsp.Main"

Example:

Declarations

# vim.lsp.smithy.server.name

string

The Smithy LSP server dependency (usually a jar)

Default: "com.disneystreaming.smithy:smithy-language-server"

Example:

Declarations

# vim.lsp.smithy.server.version

string

The Smithy LSP server dependency version

Default: "0.0.28"

Example:

Declarations

# vim.lsp.sql

boolean

Whether to enable SQL Language LSP.

Default: false

Example: true

Declarations

# vim.lsp.trouble.enable

boolean

Whether to enable trouble diagnostics viewer.

Default: false

Example: true

Declarations

# vim.lsp.ts

boolean

Whether to enable TS language LSP.

Default: false

Example: true

Declarations

# vim.luaConfigRC

strings concatenated with "\n"

vim lua config

Default: ""

Example:

Declarations

# vim.mapClearHighlight

boolean

Map the `C-z` key to clear highlight search

Default:

Example:

Declarations

# vim.mapLeaderSpace

boolean

Map the space key to leader key

Default:

Example:

Declarations

# vim.mapTimeout

signed integer

Timeout in ms that neovim will wait for mapped action to complete

Default:

Example:

Declarations

# vim.markdown.enable

boolean

Whether to enable markdown tools and plugins.

Default: false

Example: true

Declarations

# vim.markdown.glow.enable

boolean

Enable markdown preview in neovim with glow

Default: true

Example:

Declarations

# vim.mind.enable

boolean

Enable Mind plugin

Default: false

Example:

Declarations

# vim.mind.persistence.dataDir

string

Directory for the Mind data files created by the user

Default: "~/.local/share/mind.nvim/data"

Example:

Declarations

# vim.mind.persistence.statePath

string

Application state file: mind.json

Default: "~/.local/share/mind.nvim/mind.json"

Example:

Declarations

# vim.mouseSupport

one of "a", "n", "v", "i", "c"

Set modes for mouse support. a - all, n - normal, v - visual, i - insert, c - command

Default:

Example:

Declarations

# vim.neoclip.enable

boolean

Enable nvim-neoclip.lua plugin

Default:

Example:

Declarations

# vim.neovim.package

package

The NeoVim package to use. Default pkgs.neovim-unwrapped.

Default: <derivation neovim-unwrapped-0.9.5>

Example: "pkgs.neovim-nightly"

Declarations

# vim.nmap

attribute set of (null or string)

Defines 'Normal mode' mappings

Default: { }

Example:

Declarations

# vim.nnoremap

attribute set of (null or string)

Defines 'Normal mode' mappings

Default: { }

Example:

Declarations

# vim.notifications.enable

boolean

Enable the nvim-notify plugin

Default:

Example:

Declarations

# vim.omap

attribute set of (null or string)

Defines 'Operator pending mode' mappings

Default: { }

Example:

Declarations

# vim.onoremap

attribute set of (null or string)

Defines 'Operator pending mode' mappings

Default: { }

Example:

Declarations

# vim.optPlugins

list of package

List of plugins to optionally load

Default: [ ]

Example:

Declarations

# vim.plantuml.enable

boolean

Enable PlantUML syntax highlights

Default: false

Example:

Declarations

# vim.preventJunkFiles

boolean

Prevent swapfile, backupfile from being created

Default:

Example:

Declarations

# vim.runtime

attribute set of (submodule)

Set of files that have to be linked in {file}`runtime`.

Default: { }

Example: { "ftplugin/c.vim".text = "setlocal omnifunc=v:lua.vim.lsp.omnifunc"; }

Declarations

# vim.runtime.<name>.enable

boolean

Whether this /etc file should be generated. This option allows specific /etc files to be disabled.

Default: true

Example:

Declarations

# vim.runtime.<name>.source

path

Path of the source file.

Default:

Example:

Declarations

# vim.runtime.<name>.target

string

Name of symlink. Defaults to the attribute name.

Default:

Example:

Declarations

# vim.runtime.<name>.text

null or strings concatenated with "\n"

Text of the file.

Default: null

Example:

Declarations

# vim.scrollOffset

signed integer

Start scrolling this number of lines from the top or bottom of the page.

Default:

Example:

Declarations

# vim.shortcuts.enable

boolean

Whether to enable enable shortcuts.

Default: false

Example: true

Declarations

# vim.showSignColumn

boolean

Show the sign column

Default:

Example:

Declarations

# vim.smap

attribute set of (null or string)

Defines 'Select mode' mappings

Default: { }

Example:

Declarations

# vim.snippets.vsnip.dataDir

string

Directory for the snippet files

Default: "/nix/store/p5521ccnsqd22qp6v68n6dam5lv9y18p-source/snippets"

Example:

Declarations

# vim.snippets.vsnip.enable

boolean

Whether to enable Enable vim-vsnip.

Default: false

Example: true

Declarations

# vim.snoremap

attribute set of (null or string)

Defines 'Select mode' mappings

Default: { }

Example:

Declarations

# vim.spellCheck.markdown

boolean

Enables spell-checker on markdown files

Default:

Example:

Declarations

# vim.spider.enable

boolean

Enable the nvim-spider plugin

Default:

Example:

Declarations

# vim.spider.skipInsignificantPunctuation

boolean

Plugin setting

Default: true

Example:

Declarations

# vim.splitBelow

boolean

New splits will open below instead of on top

Default:

Example:

Declarations

# vim.splitRight

boolean

New splits will open to the right

Default:

Example:

Declarations

# vim.startConfigRC

strings concatenated with "\n"

start of vimrc contents

Default: ""

Example:

Declarations

# vim.startLuaConfigRC

strings concatenated with "\n"

start of vim lua config

Default: ""

Example:

Declarations

# vim.startPlugins

list of (null or package)

List of plugins to startup

Default: [ ]

Example:

Declarations

# vim.statusline.lualine.activeSection.a

string

active config for: | (A) | B | C X | Y | Z |

Default:

Example:

Declarations

# vim.statusline.lualine.activeSection.b

string

active config for: | A | (B) | C X | Y | Z |

Default:

Example:

Declarations

# vim.statusline.lualine.activeSection.c

string

active config for: | A | B | (C) X | Y | Z |

Default:

Example:

Declarations

# vim.statusline.lualine.activeSection.x

string

active config for: | A | B | C (X) | Y | Z |

Default:

Example:

Declarations

# vim.statusline.lualine.activeSection.y

string

active config for: | A | B | C X | (Y) | Z |

Default:

Example:

Declarations

# vim.statusline.lualine.activeSection.z

string

active config for: | A | B | C X | Y | (Z) |

Default:

Example:

Declarations

# vim.statusline.lualine.componentSeparator.left

string

Component separator for left side

Default:

Example:

Declarations

# vim.statusline.lualine.componentSeparator.right

string

Component separator for right side

Default:

Example:

Declarations

# vim.statusline.lualine.enable

boolean

Enable lualine

Default:

Example:

Declarations

# vim.statusline.lualine.icons

boolean

Enable icons for lualine

Default:

Example:

Declarations

# vim.statusline.lualine.inactiveSection.a

string

inactive config for: | (A) | B | C X | Y | Z |

Default:

Example:

Declarations

# vim.statusline.lualine.inactiveSection.b

string

inactive config for: | A | (B) | C X | Y | Z |

Default:

Example:

Declarations

# vim.statusline.lualine.inactiveSection.c

string

inactive config for: | A | B | (C) X | Y | Z |

Default:

Example:

Declarations

# vim.statusline.lualine.inactiveSection.x

string

inactive config for: | A | B | C (X) | Y | Z |

Default:

Example:

Declarations

# vim.statusline.lualine.inactiveSection.y

string

inactive config for: | A | B | C X | (Y) | Z |

Default:

Example:

Declarations

# vim.statusline.lualine.inactiveSection.z

string

inactive config for: | A | B | C X | Y | (Z) |

Default:

Example:

Declarations

# vim.statusline.lualine.sectionSeparator.left

string

Section separator for left side

Default:

Example:

Declarations

# vim.statusline.lualine.sectionSeparator.right

string

Section separator for right side

Default:

Example:

Declarations

# vim.statusline.lualine.theme

one of "auto", "16color", "gruvbox", "ayu_dark", "ayu_light", "ayu_mirage", "codedark", "dracula", "everforest", "gruvbox", "gruvbox_light", "gruvbox_material", "horizon", "iceberg_dark", "iceberg_light", "jellybeans", "material", "modus_vivendi", "molokai", "nightfly", "nord", "oceanicnext", "onedark", "onelight", "palenight", "papercolor_dark", "papercolor_light", "powerline", "seoul256", "solarized_dark", "tomorrow", "wombat", "catppuccin", "tokyonight", "nightfox", "rose-pine", "rose-pine-alt"

Theme for lualine

Default:

Example:

Declarations

# vim.surround.enable

boolean

Enable nvim-surround plugin

Default: true

Example:

Declarations

# vim.syntaxHighlighting

boolean

Enable syntax highlighting

Default:

Example:

Declarations

# vim.tabWidth

signed integer

Set the width of tabs

Default:

Example:

Declarations

# vim.tabline.nvimBufferline.enable

boolean

Whether to enable bufferline.nvim.

Default: false

Example: true

Declarations

# vim.telescope.enable

boolean

Whether to enable enable telescope.

Default: false

Example: true

Declarations

# vim.telescope.mediaFiles.enable

boolean

Whether to enable enable telescope-media-files extension.

Default: false

Example: true

Declarations

# vim.telescope.tabs.enable

boolean

Whether to enable enable search.nvim (enhances telescope with tab-based search).

Default: false

Example: true

Declarations

# vim.theme.enable

boolean

Enable Theme

Default:

Example:

Declarations

# vim.theme.name

one of "catppuccin", "nightfox", "onedark", "rose-pine", "tokyonight"

Name of theme to use: "catppuccin" "nightfox" "onedark" "rose-pine" "tokyonight"

Default: "onedark"

Example:

Declarations

# vim.theme.style

one of "dark", "darker", "cool", "deep", "warm", "warmer"

Theme style: "storm", darker variant "night", and "day"

Default:

Example:

Declarations

# vim.theme.transparency

boolean

Background transparency

Default:

Example:

Declarations

# vim.tmap

attribute set of (null or string)

Defines 'Terminal mode' mappings

Default: { }

Example:

Declarations

# vim.tnoremap

attribute set of (null or string)

Defines 'Terminal mode' mappings

Default: { }

Example:

Declarations

# vim.todo.enable

boolean

Whether to enable todo-comments.

Default: false

Example: true

Declarations

# vim.todo.patterns.highlight

string

vim regex pattern used for highlighting comments

Default: "[[.*<(KEYWORDS)(\\([^\\)]*\\))?:]]"

Example:

Declarations

# vim.todo.patterns.search

string

ripgrep regex pattern used for searching comments

Default: "[[\\b(KEYWORDS)(\\([^\\)]*\\))?:]]"

Example:

Declarations

# vim.treesitter.autotagHtml

boolean

enable autoclose and rename html tag [nvim-ts-autotag]

Default:

Example:

Declarations

# vim.treesitter.context.enable

boolean

enable function context [nvim-treesitter-context]

Default:

Example:

Declarations

# vim.treesitter.enable

boolean

enable tree-sitter [nvim-treesitter]

Default:

Example:

Declarations

# vim.treesitter.fold

boolean

enable fold with tree-sitter

Default:

Example:

Declarations

# vim.treesitter.textobjects

boolean

enable nvim-treesitter-textobjects and its default configuration

Default:

Example:

Declarations

# vim.updateTime

signed integer

The number of milliseconds till Cursor Hold event is fired

Default:

Example:

Declarations

# vim.useSystemClipboard

boolean

Make use of the clipboard for default yank and paste operations. Don't use * and +

Default:

Example:

Declarations

# vim.viAlias

boolean

Enable vi alias

Default: true

Example:

Declarations

# vim.vimAlias

boolean

Enable vim alias

Default: true

Example:

Declarations

# vim.visuals.cursorWordline.enable

boolean

enable word and delayed line highlight [nvim-cursorline]

Default:

Example:

Declarations

# vim.visuals.cursorWordline.lineTimeout

signed integer

time in milliseconds for cursorline to appear

Default:

Example:

Declarations

# vim.visuals.enable

boolean

visual enhancements

Default:

Example:

Declarations

# vim.visuals.indentBlankline.enable

boolean

enable indentation guides [indent-blankline]

Default:

Example:

Declarations

# vim.visuals.indentBlankline.eolChar

string

Character at end of line

Default:

Example:

Declarations

# vim.visuals.indentBlankline.fillChar

string

Character to fill indents

Default:

Example:

Declarations

# vim.visuals.indentBlankline.listChar

string

Character for indentation line

Default:

Example:

Declarations

# vim.visuals.indentBlankline.showCurrContext

boolean

Highlight current context from treesitter

Default:

Example:

Declarations

# vim.visuals.lspkind.enable

boolean

enable vscode-like pictograms for lsp [lspkind]

Default:

Example:

Declarations

# vim.visuals.noice.enable

boolean

enable the noice plugin

Default:

Example:

Declarations

# vim.visuals.nvimWebDevicons.enable

boolean

enable dev icons. required for certain plugins [nvim-web-devicons]

Default:

Example:

Declarations

# vim.vmap

attribute set of (null or string)

Defines 'Visual and Select mode' mappings

Default: { }

Example:

Declarations

# vim.vnoremap

attribute set of (null or string)

Defines 'Visual and Select mode' mappings

Default: { }

Example:

Declarations

# vim.wordWrap

boolean

Enable word wrapping.

Default:

Example:

Declarations

# vim.xmap

attribute set of (null or string)

Defines 'Visual mode' mappings

Default: { }

Example:

Declarations

# vim.xnoremap

attribute set of (null or string)

Defines 'Visual mode' mappings

Default: { }

Example:

Declarations

# vim.zen.enable

boolean

Enable Zen mode (distraction-free coding) with twilight (dim code)

Default:

Example:

Declarations