Compare commits

..

No commits in common. "71f352d41ee17150a7b8cf8dab6135edd020fc4c" and "e47306b27639c752dbfd3dbd057311660a222314" have entirely different histories.

16 changed files with 90 additions and 128 deletions

View file

@ -2,13 +2,13 @@
inputs, inputs,
path, path,
stdenvNoCC, stdenvNoCC,
runCommandLocal, runCommandNoCCLocal,
optionsJSON, optionsJSON,
release, release,
} @ args: let } @ args: let
manual-release = args.release or "unstable"; manual-release = args.release or "unstable";
in in
runCommandLocal "nvf-docs-html" { runCommandNoCCLocal "nvf-docs-html" {
nativeBuildInputs = [ nativeBuildInputs = [
(inputs.ndg.packages.${stdenvNoCC.system}.ndg.overrideAttrs (inputs.ndg.packages.${stdenvNoCC.system}.ndg.overrideAttrs
{ {

View file

@ -1,7 +1,7 @@
# Configuring nvf {#ch-configuring} # Configuring nvf {#ch-configuring}
[helpful tips section]: ./tips.html#ch-helpful-tips [helpful tips section]: #ch-helpful-tips
[options reference]: ./options.html [options reference]: /nvf/options.html
nvf allows for _very_ extensive configuration in Neovim through the Nix module nvf allows for _very_ extensive configuration in Neovim through the Nix module
interface. The below chapters describe several of the options exposed in nvf for interface. The below chapters describe several of the options exposed in nvf for

View file

@ -1,17 +1,17 @@
# Legacy Method {#sec-legacy-method} # Legacy Method {#sec-legacy-method}
Prior to version **0.5**, the method of adding new plugins was adding the plugin Prior to version **0.5**, the method of adding new plugins was adding the plugin
package to {option}`vim.startPlugins` and adding its configuration as a DAG package to {option}`vim.startPlugins` and adding its configuration as a DAG under
under one of `vim.configRC` or {option}`vim.luaConfigRC`. While `configRC` has one of `vim.configRC` or {option}`vim.luaConfigRC`. While `configRC` has been
been deprecated, users who have not yet updated to 0.5 or those who prefer a deprecated, users who have not yet updated to 0.5 or those who prefer a more
more hands-on approach may choose to use the old method where the load order of hands-on approach may choose to use the old method where the load order of the
the plugins is explicitly determined by DAGs without internal abstractions. plugins is explicitly determined by DAGs without internal abstractions.
## Adding New Plugins {#sec-adding-new-plugins} ## Adding New Plugins {#sec-adding-new-plugins}
To add a plugin not available in **nvf** as a module to your configuration using To add a plugin not available in **nvf** as a module to your configuration using
the legacy method, you must add it to {option}`vim.startPlugins` in order to the legacy method, you must add it to {option}`vim.startPlugins` in order to make
make it available to Neovim at runtime. it available to Neovim at runtime.
```nix ```nix
{pkgs, ...}: { {pkgs, ...}: {

View file

@ -6,87 +6,49 @@ formatters, and `nvim-lint` linter integration. This gets you capabilities
ranging from autocompletion to formatting to diagnostics. The following ranging from autocompletion to formatting to diagnostics. The following
languages have sections under the `vim.languages` attribute. languages have sections under the `vim.languages` attribute.
- Rust: - Rust: [vim.languages.rust.enable](#opt-vim.languages.rust.enable)
[vim.languages.rust.enable](./options.html#option-vim-languages-rust-enable) - Nix: [vim.languages.nix.enable](#opt-vim.languages.nix.enable)
- Nix: - SQL: [vim.languages.sql.enable](#opt-vim.languages.sql.enable)
[vim.languages.nix.enable](./options.html#option-vim-languages-nix-enable) - C/C++: [vim.languages.clang.enable](#opt-vim.languages.clang.enable)
- SQL: - Typescript/Javascript: [vim.languages.ts.enable](#opt-vim.languages.ts.enable)
[vim.languages.sql.enable](./options.html#option-vim-languages-sql-enable) - Python: [vim.languages.python.enable](#opt-vim.languages.python.enable):
- C/C++: - Zig: [vim.languages.zig.enable](#opt-vim.languages.zig.enable)
[vim.languages.clang.enable](./options.html#option-vim-languages-clang-enable) - Markdown: [vim.languages.markdown.enable](#opt-vim.languages.markdown.enable)
- Typescript/Javascript: - HTML: [vim.languages.html.enable](#opt-vim.languages.html.enable)
[vim.languages.ts.enable](./options.html#option-vim-languages-ts-enable) - Dart: [vim.languages.dart.enable](#opt-vim.languages.dart.enable)
- Python: - Go: [vim.languages.go.enable](#opt-vim.languages.go.enable)
[vim.languages.python.enable](./options.html#option-vim-languages-python-enable): - Lua: [vim.languages.lua.enable](#opt-vim.languages.lua.enable)
- Zig: - PHP: [vim.languages.php.enable](#opt-vim.languages.php.enable)
[vim.languages.zig.enable](./options.html#option-vim-languages-zig-enable) - F#: [vim.languages.fsharp.enable](#opt-vim.languages.fsharp.enable)
- Markdown: - Assembly: [vim.languages.assembly.enable](#opt-vim.languages.assembly.enable)
[vim.languages.markdown.enable](./options.html#option-vim-languages-markdown-enable) - Astro: [vim.languages.astro.enable](#opt-vim.languages.astro.enable)
- HTML: - Bash: [vim.languages.bash.enable](#opt-vim.languages.bash.enable)
[vim.languages.html.enable](./options.html#option-vim-languages-html-enable) - Clang: [vim.languages.clang.enable](#opt-vim.languages.clang.enable)
- Dart: - Clojure: [vim.languages.clojure.enable](#opt-vim.languages.clojure.enable)
[vim.languages.dart.enable](./options.html#option-vim-languages-dart-enable) - C#: [vim.languages.csharp.enable](#opt-vim.languages.csharp.enable)
- Go: [vim.languages.go.enable](./options.html#option-vim-languages-go-enable) - CSS: [vim.languages.css.enable](#opt-vim.languages.css.enable)
- Lua: - CUE: [vim.languages.cue.enable](#opt-vim.languages.cue.enable)
[vim.languages.lua.enable](./options.html#option-vim-languages-lua-enable) - Elixir: [vim.languages.elixir.enable](#opt-vim.languages.elixir.enable)
- PHP: - Gleam: [vim.languages.gleam.enable](#opt-vim.languages.gleam.enable)
[vim.languages.php.enable](./options.html#option-vim-languages-php-enable) - HCL: [vim.languages.hcl.enable](#opt-vim.languages.hcl.enable)
- F#: - Helm: [vim.languages.helm.enable](#opt-vim.languages.helm.enable)
[vim.languages.fsharp.enable](./options.html#option-vim-languages-fsharp-enable) - Julia: [vim.languages.julia.enable](#opt-vim.languages.julia.enable)
- Assembly: - Kotlin: [vim.languages.kotlin.enable](#opt-vim.languages.kotlin.enable)
[vim.languages.assembly.enable](./options.html#option-vim-languages-assembly-enable) - Nim: [vim.languages.nim.enable](#opt-vim.languages.nim.enable)
- Astro: - Nu: [vim.languages.nu.enable](#opt-vim.languages.nu.enable)
[vim.languages.astro.enable](./options.html#option-vim-languages-astro-enable) - OCaml: [vim.languages.ocaml.enable](#opt-vim.languages.ocaml.enable)
- Bash: - Odin: [vim.languages.odin.enable](#opt-vim.languages.odin.enable)
[vim.languages.bash.enable](./options.html#option-vim-languages-bash-enable) - R: [vim.languages.r.enable](#opt-vim.languages.r.enable)
- Clang: - Ruby: [vim.languages.ruby.enable](#opt-vim.languages.ruby.enable)
[vim.languages.clang.enable](./options.html#option-vim-languages-clang-enable) - Scala: [vim.languages.scala.enable](#opt-vim.languages.scala.enable)
- Clojure: - Svelte: [vim.languages.svelte.enable](#opt-vim.languages.svelte.enable)
[vim.languages.clojure.enable](./options.html#option-vim-languages-clojure-enable) - Tailwind: [vim.languages.tailwind.enable](#opt-vim.languages.tailwind.enable)
- C#:
[vim.languages.csharp.enable](./options.html#option-vim-languages-csharp-enable)
- CSS:
[vim.languages.css.enable](./options.html#option-vim-languages-css-enable)
- CUE:
[vim.languages.cue.enable](./options.html#option-vim-languages-cue-enable)
- Elixir:
[vim.languages.elixir.enable](./options.html#option-vim-languages-elixir-enable)
- Gleam:
[vim.languages.gleam.enable](./options.html#option-vim-languages-gleam-enable)
- HCL:
[vim.languages.hcl.enable](./options.html#option-vim-languages-hcl-enable)
- Helm:
[vim.languages.helm.enable](./options.html#option-vim-languages-helm-enable)
- Julia:
[vim.languages.julia.enable](./options.html#option-vim-languages-julia-enable)
- Kotlin:
[vim.languages.kotlin.enable](./options.html#option-vim-languages-kotlin-enable)
- Nim:
[vim.languages.nim.enable](./options.html#option-vim-languages-nim-enable)
- Nu: [vim.languages.nu.enable](./options.html#option-vim-languages-nu-enable)
- OCaml:
[vim.languages.ocaml.enable](./options.html#option-vim-languages-ocaml-enable)
- Odin:
[vim.languages.odin.enable](./options.html#option-vim-languages-odin-enable)
- R: [vim.languages.r.enable](./options.html#option-vim-languages-r-enable)
- Ruby:
[vim.languages.ruby.enable](./options.html#option-vim-languages-ruby-enable)
- Scala:
[vim.languages.scala.enable](./options.html#option-vim-languages-scala-enable)
- Svelte:
[vim.languages.svelte.enable](./options.html#option-vim-languages-svelte-enable)
- Tailwind:
[vim.languages.tailwind.enable](./options.html#option-vim-languages-tailwind-enable)
- Terraform: - Terraform:
[vim.languages.terraform.enable](./options.html#option-vim-languages-terraform-enable) [vim.languages.terraform.enable](#opt-vim.languages.terraform.enable)
- Typst: - Typst: [vim.languages.typst.enable](#opt-vim.languages.typst.enable)
[vim.languages.typst.enable](./options.html#option-vim-languages-typst-enable) - Vala: [vim.languages.vala.enable](#opt-vim.languages.vala.enable)
- Vala: - WGSL: [vim.languages.wgsl.enable](#opt-vim.languages.wgsl.enable)
[vim.languages.vala.enable](./options.html#option-vim-languages-vala-enable) - YAML: [vim.languages.yaml.enable](#opt-vim.languages.yaml.enable)
- WGSL:
[vim.languages.wgsl.enable](./options.html#option-vim-languages-wgsl-enable)
- YAML:
[vim.languages.yaml.enable](./options.html#option-vim-languages-yaml-enable)
Adding support for more languages, and improving support for existing ones are Adding support for more languages, and improving support for existing ones are
great places where you can contribute with a PR. great places where you can contribute with a PR.

View file

@ -1,10 +1,10 @@
# Overriding plugins {#ch-overriding-plugins} # Overriding plugins {#ch-overriding-plugins}
The [additional plugins section](./hacking.html#sec-additional-plugins) details The [additional plugins section](#sec-additional-plugins) details the addition
the addition of new plugins to nvf under regular circumstances, i.e. while of new plugins to nvf under regular circumstances, i.e. while making a pull
making a pull request to the project. You may _override_ those plugins in your request to the project. You may _override_ those plugins in your config to
config to change source versions, e.g., to use newer versions of plugins that change source versions, e.g., to use newer versions of plugins that are not yet
are not yet updated in **nvf**. updated in **nvf**.
```nix ```nix
vim.pluginOverrides = { vim.pluginOverrides = {

View file

@ -273,7 +273,8 @@ An example, simple keybinding, can look like this:
``` ```
There are many settings available in the options. Please refer to the There are many settings available in the options. Please refer to the
[documentation](./options.html#option-vim-keymaps) to see a list of them. [documentation](https://notashelf.github.io/nvf/options.html#opt-vim.keymaps) to
see a list of them.
**nvf** provides a helper function, so that you don't have to write the mapping **nvf** provides a helper function, so that you don't have to write the mapping
attribute sets every time: attribute sets every time:
@ -600,7 +601,7 @@ require('lz.n').load({
}) })
``` ```
[`vim.lazy.plugins` spec]: ./options.html#option-vim-lazy-plugins [`vim.lazy.plugins` spec]: https://notashelf.github.io/nvf/options.html#opt-vim.lazy.plugins
A full list of options can be found in the [`vim.lazy.plugins` spec] on the A full list of options can be found in the [`vim.lazy.plugins` spec] on the
rendered manual. rendered manual.

View file

@ -15,7 +15,7 @@ DAG implementation are from them.
longer defined. If you use hare and would like it added back, please file an longer defined. If you use hare and would like it added back, please file an
issue. issue.
- {option}`vim.startPlugins` & {option} `vim-optPlugins` are now an enum of - {option}`vim.startPlugins) & [](#opt-vim.optPlugins` are now an enum of
`string` for options sourced from the flake inputs. Users can still provide `string` for options sourced from the flake inputs. Users can still provide
vim plugin packages. vim plugin packages.
@ -44,6 +44,5 @@ vim.luaConfigRC = lib.nvim.dag.entryAnywhere "config here"
[MoritzBoehme](https://github.com/MoritzBoehme): [MoritzBoehme](https://github.com/MoritzBoehme):
- `catppuccin` theme is now available as a neovim theme - `catppuccin` theme is now available as a neovim theme {option}`vim.theme.style`
{option}`vim.theme.style` and Lualine theme and Lualine theme {option}`vim.statusline.lualine.theme`.
{option}`vim.statusline.lualine.theme`.

View file

@ -41,7 +41,7 @@ end
vim.api.nvim_set_keymap('n', '<leader>a', ':lua camelToSnake()<CR>', { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', '<leader>a', ':lua camelToSnake()<CR>', { noremap = true, silent = true })
``` ```
## Changelog {#sec-release-0-6-changelog} ## Changelog {#sec-release-0.6-changelog}
[ksonj](https://github.com/ksonj): [ksonj](https://github.com/ksonj):
@ -95,7 +95,7 @@ vim.api.nvim_set_keymap('n', '<leader>a', ':lua camelToSnake()<CR>', { noremap =
and also has been removed. and also has been removed.
- `which-key.nvim` categories can now be customized through - `which-key.nvim` categories can now be customized through
[vim.binds.whichKey.register](./options.html#option-vim-binds-whichKey-register) [vim.binds.whichKey.register](#opt-vim.binds.whichKey.register)
- Added `magick` to `vim.luaPackages` for `image.nvim`. - Added `magick` to `vim.luaPackages` for `image.nvim`.
@ -125,10 +125,10 @@ vim.api.nvim_set_keymap('n', '<leader>a', ':lua camelToSnake()<CR>', { noremap =
- Lualine module now allows customizing `always_divide_middle`, `ignore_focus` - Lualine module now allows customizing `always_divide_middle`, `ignore_focus`
and `disabled_filetypes` through the new options: and `disabled_filetypes` through the new options:
[vim.statusline.lualine.alwaysDivideMiddle](./options.html#option-vim-statusline-lualine-alwaysDivideMiddle), [vim.statusline.lualine.alwaysDivideMiddle](#opt-vim.statusline.lualine.alwaysDivideMiddle),
[vim.statusline.lualine.ignoreFocus](./options.html#option-vim-statusline-lualine-ignoreFocus) [vim.statusline.lualine.ignoreFocus](#opt-vim.statusline.lualine.ignoreFocus)
and and
[vim.statusline.lualine.disabledFiletypes](./options.html#option-vim-statusline-lualine-disabledFiletypes). [vim.statusline.lualine.disabledFiletypes](#opt-vim.statusline.lualine.disabledFiletypes).
- Updated all plugin inputs to their latest versions (**21.04.2024**) - this - Updated all plugin inputs to their latest versions (**21.04.2024**) - this
brought minor color changes to the Catppuccin theme. brought minor color changes to the Catppuccin theme.
@ -159,10 +159,10 @@ vim.api.nvim_set_keymap('n', '<leader>a', ':lua camelToSnake()<CR>', { noremap =
arguments to take `luaBefore`, `luaConfig` and `luaAfter` as strings, which arguments to take `luaBefore`, `luaConfig` and `luaAfter` as strings, which
are then concatted inside a lua block. are then concatted inside a lua block.
- Added {option}`vim.luaConfigPre` and {option} `vim-luaConfigPost` for - Added {option}`vim.luaConfigPre) and [](#opt-vim.luaConfigPost` for inserting
inserting verbatim Lua configuration before and after the resolved Lua DAG verbatim Lua configuration before and after the resolved Lua DAG respectively.
respectively. Both of those options take strings as the type, so you may read Both of those options take strings as the type, so you may read the contents
the contents of a Lua file from a given path. of a Lua file from a given path.
- Added `vim.spellchecking.ignoredFiletypes` and - Added `vim.spellchecking.ignoredFiletypes` and
`vim.spellChecking.programmingWordlist.enable` for ignoring certain filetypes `vim.spellChecking.programmingWordlist.enable` for ignoring certain filetypes

View file

@ -115,7 +115,7 @@ The changes are, in no particular order:
replicate the same functionality by setting `shiftwidth`, `tabstop` and replicate the same functionality by setting `shiftwidth`, `tabstop` and
`softtabstop` under `vim.options` as you see fit. `softtabstop` under `vim.options` as you see fit.
## Changelog {#sec-release-0-7-changelog} ## Changelog {#sec-release-0.7-changelog}
[ItsSorae](https://github.com/ItsSorae): [ItsSorae](https://github.com/ItsSorae):
@ -224,8 +224,8 @@ The changes are, in no particular order:
- Remove `autocomplete.type` in favor of per-plugin enable options such as - Remove `autocomplete.type` in favor of per-plugin enable options such as
{option}`vim.autocomplete.nvim-cmp.enable`. {option}`vim.autocomplete.nvim-cmp.enable`.
- Deprecate legacy Vimsnip in favor of Luasnip, and integrate - Deprecate legacy Vimsnip in favor of Luasnip, and integrate
friendly-snippets for bundled snippets. friendly-snippets for bundled snippets. {option}`vim.snippets.luasnip.enable`
{option}`vim.snippets.luasnip.enable` can be used to toggle Luasnip. can be used to toggle Luasnip.
- Add sorting function options for completion sources under - Add sorting function options for completion sources under
{option}`vim.autocomplete.nvim-cmp.setupOpts.sorting.comparators` {option}`vim.autocomplete.nvim-cmp.setupOpts.sorting.comparators`
@ -301,8 +301,8 @@ The changes are, in no particular order:
controlling the default behaviour of the `nvim-navic` component on Lualine, controlling the default behaviour of the `nvim-navic` component on Lualine,
which used to occupy `winbar.lualine_c` as long as breadcrumbs are enabled. which used to occupy `winbar.lualine_c` as long as breadcrumbs are enabled.
- `vim.ui.breadcrumbs.alwaysRender` has been renamed to - `vim.ui.breadcrumbs.alwaysRender` has been renamed to
{option}`vim.ui.breadcrumbs.lualine.winbar.alwaysRender` to be conform to {option}`vim.ui.breadcrumbs.lualine.winbar.alwaysRender` to be conform to the
the new format. new format.
- Add [basedpyright](https://github.com/detachhead/basedpyright) as a Python LSP - Add [basedpyright](https://github.com/detachhead/basedpyright) as a Python LSP
server and make it default. server and make it default.

View file

@ -74,7 +74,7 @@
- Add {option}`vim.lsp.lightbulb.autocmd.enable` for manually managing the - Add {option}`vim.lsp.lightbulb.autocmd.enable` for manually managing the
previously managed lightbulb autocommand. previously managed lightbulb autocommand.
- A warning will occur if {option} vim-lsp-lightbulb-autocmd-enable) and - A warning will occur if [](#opt-vim.lsp.lightbulb.autocmd.enable) and
`vim.lsp.lightbulb.setupOpts.autocmd.enabled` are both set at the same time. `vim.lsp.lightbulb.setupOpts.autocmd.enabled` are both set at the same time.
Pick only one. Pick only one.
@ -85,7 +85,7 @@
- Add [yazi.nvim] as a companion plugin for Yazi, the terminal file manager. - Add [yazi.nvim] as a companion plugin for Yazi, the terminal file manager.
- Add {option}`vim.autocmds` and {option}`vim-augroups` to allow declaring - Add {option}`vim.autocmds) and [](#opt-vim.augroups` to allow declaring
autocommands via Nix. autocommands via Nix.
- Fix plugin `setupOpts` for yanky.nvim and assert if shada is configured as a - Fix plugin `setupOpts` for yanky.nvim and assert if shada is configured as a
@ -225,8 +225,8 @@
[thamenato](https://github.com/thamenato): [thamenato](https://github.com/thamenato):
[ruff]: https://github.com/astral-sh/ruff [ruff]: (https://github.com/astral-sh/ruff)
[cue]: https://cuelang.org/ [cue]: (https://cuelang.org/)
- Add [ruff] as a formatter option in `vim.languages.python.format.type`. - Add [ruff] as a formatter option in `vim.languages.python.format.type`.
- Add [cue] support under `vim.languages.cue`. - Add [cue] support under `vim.languages.cue`.
@ -553,7 +553,7 @@
[valterschutz](https://github.com/valterschutz): [valterschutz](https://github.com/valterschutz):
[ruff]: https://github.com/astral-sh/ruff [ruff]: (https://github.com/astral-sh/ruff)
- Add [ruff-fix] as a formatter option in `vim.languages.python.format.type`. - Add [ruff-fix] as a formatter option in `vim.languages.python.format.type`.

View file

@ -26,7 +26,7 @@ startup.
} }
``` ```
[`vim.extraPlugins`]: ./options.html#option-vim-extraPlugins [`vim.extraPlugins`]: https://notashelf.github.io/nvf/options.html#opt-vim.extraPlugins
This will fetch aerial.nvim from nixpkgs, and add it to Neovim's runtime path to This will fetch aerial.nvim from nixpkgs, and add it to Neovim's runtime path to
be loaded manually. Although for plugins that require manual setup, you are be loaded manually. Although for plugins that require manual setup, you are
@ -43,7 +43,7 @@ encouraged to use [`vim.extraPlugins`].
} }
``` ```
[custom plugins section]: ./configuring.html#ch-custom-plugins [custom plugins section]: https://notashelf.github.io/nvf/index.xhtml#ch-custom-plugins
More details on the extraPlugins API is documented in the More details on the extraPlugins API is documented in the
[custom plugins section]. [custom plugins section].

View file

@ -105,7 +105,7 @@ this
} }
``` ```
[DAG system]: ./configuring.html#ch-using-dags [DAG system]: https://notashelf.github.io/nvf/index.xhtml#ch-using-dags
After you load your custom configuration, you may use an `init.lua` located in After you load your custom configuration, you may use an `init.lua` located in
your custom configuration directory to configure Neovim exactly as you would your custom configuration directory to configure Neovim exactly as you would

View file

@ -29,7 +29,7 @@ in {
To add your own language files, you may place your `spell` directory in either To add your own language files, you may place your `spell` directory in either
{file}`$XDG_CONFIG_HOME/nvf` or in a path that is included in the {file}`$XDG_CONFIG_HOME/nvf` or in a path that is included in the
[additionalRuntimePaths](./options.html#option-vim-additionalRuntimePaths) list provided by nvf. [additionalRuntimePaths](#opt-vim.additionalRuntimePaths) list provided by nvf.
''; '';
}; };

View file

@ -107,7 +107,7 @@ in {
option, since there is no way to provide only the LSP server. option, since there is no way to provide only the LSP server.
If you want to avoid that, you have to change If you want to avoid that, you have to change
{option}`vim.lsp.servers.julials.cmd` to use [vim.lsp.servers.julials.cmd](#opt-vim.lsp.servers._name_.cmd) to use
the Julia binary in {env}`PATH`, and add the `LanguageServer` the Julia binary in {env}`PATH`, and add the `LanguageServer`
package to Julia in your devshells. package to Julia in your devshells.

View file

@ -47,7 +47,7 @@ in {
internally to add plugins to Neovim's runtime. internally to add plugins to Neovim's runtime.
To add additional plugins to your configuration, consider To add additional plugins to your configuration, consider
using the {option}`vim.extraPlugins` using the [{option}`vim.extraPlugins`](#opt-vim.extraPlugins)
option. option.
''; '';
}; };

View file

@ -284,7 +284,7 @@ in {
default = ""; default = "";
defaultText = literalMD '' defaultText = literalMD ''
By default, this option will **append** paths in By default, this option will **append** paths in
{option}`vim-additionalRuntimePaths` {option}`vim.additionalRuntimePaths`
to the `runtimepath` and enable the experimental Lua module loader to the `runtimepath` and enable the experimental Lua module loader
if {option}`vim.enableLuaLoader` is set to true. if {option}`vim.enableLuaLoader` is set to true.
''; '';