mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-10 19:55:41 +03:00
Merge branch 'NixOS:master' into vim_o_exrc_support
This commit is contained in:
commit
f81e8e68e5
12978 changed files with 385489 additions and 320486 deletions
|
@ -63,7 +63,7 @@ For instance, `sqlite-lua` needs `g:sqlite_clib_path` to be set to work. Nixpkgs
|
|||
- `plugins`: A list of plugins to add to the wrapper.
|
||||
|
||||
```
|
||||
wrapNeovimUnstable {
|
||||
wrapNeovimUnstable neovim-unwrapped {
|
||||
autoconfigure = true;
|
||||
autowrapRuntimeDeps = true;
|
||||
luaRcContent = ''
|
||||
|
@ -91,8 +91,8 @@ wrapNeovimUnstable {
|
|||
You can explore the configuration with`nix repl` to discover these options and
|
||||
override them. For instance:
|
||||
```nix
|
||||
neovim.overrideAttrs(oldAttrs: {
|
||||
autowrapRuntimeDeps = false;
|
||||
neovim.overrideAttrs (oldAttrs: {
|
||||
autowrapRuntimeDeps = false;
|
||||
})
|
||||
```
|
||||
|
||||
|
@ -105,10 +105,10 @@ patch those plugins but expose the necessary configuration under
|
|||
`PLUGIN.passthru.initLua` for neovim plugins. For instance, the `unicode-vim` plugin
|
||||
needs the path towards a unicode database so we expose the following snippet `vim.g.Unicode_data_directory="${self.unicode-vim}/autoload/unicode"` under `vimPlugins.unicode-vim.passthru.initLua`.
|
||||
|
||||
#### {#neovim-luarocks-based-plugins}
|
||||
#### LuaRocks based plugins {#neovim-luarocks-based-plugins}
|
||||
|
||||
In order to automatically handle plugin dependencies, several neovim plugins
|
||||
upload their package to [](www.luarocks.org). This means less work for nixpkgs maintainers in the long term as dependencies get updated automatically.
|
||||
upload their package to [LuaRocks](https://www.luarocks.org). This means less work for nixpkgs maintainers in the long term as dependencies get updated automatically.
|
||||
This means several neovim plugins are first packaged as nixpkgs [lua
|
||||
packages](#packaging-a-library-on-luarocks), and converted via `buildNeovimPlugin` in
|
||||
a vim plugin. This conversion is necessary because neovim expects lua folders to be
|
||||
|
@ -116,9 +116,11 @@ top-level while luarocks installs them in various subfolders by default.
|
|||
|
||||
For instance:
|
||||
```nix
|
||||
rtp-nvim = neovimUtils.buildNeovimPlugin {
|
||||
{
|
||||
rtp-nvim = neovimUtils.buildNeovimPlugin {
|
||||
luaAttr = luaPackages.rtp-nvim;
|
||||
};
|
||||
};
|
||||
}
|
||||
```
|
||||
To update these packages, you should use the lua updater rather than vim's.
|
||||
|
||||
|
@ -164,16 +166,19 @@ The check hook will fail the build if any modules cannot be loaded. This encoura
|
|||
To only check a specific module, add it manually to the plugin definition [overrides](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/overrides.nix).
|
||||
|
||||
```nix
|
||||
{
|
||||
gitsigns-nvim = super.gitsigns-nvim.overrideAttrs {
|
||||
dependencies = [ self.plenary-nvim ];
|
||||
nvimRequireCheck = "gitsigns";
|
||||
};
|
||||
}
|
||||
```
|
||||
Some plugins will have lua modules that require a user configuration to function properly or can contain optional lua modules that we dont want to test requiring.
|
||||
We can skip specific modules using `nvimSkipModules`. Similar to `nvimRequireCheck`, it accepts a list of strings.
|
||||
- `nvimSkipModules = [ MODULE1 MODULE2 ];`
|
||||
|
||||
```nix
|
||||
{
|
||||
asyncrun-vim = super.asyncrun-vim.overrideAttrs {
|
||||
nvimSkipModules = [
|
||||
# vim plugin with optional toggleterm integration
|
||||
|
@ -181,14 +186,17 @@ We can skip specific modules using `nvimSkipModules`. Similar to `nvimRequireChe
|
|||
"asyncrun.toggleterm2"
|
||||
];
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
In rare cases, we might not want to actually test loading lua modules for a plugin. In those cases, we can disable `neovimRequireCheck` with `doCheck = false;`.
|
||||
|
||||
This can be manually added through plugin definition overrides in the [overrides.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/overrides.nix).
|
||||
```nix
|
||||
{
|
||||
vim-test = super.vim-test.overrideAttrs {
|
||||
# Vim plugin with a test lua file
|
||||
doCheck = false;
|
||||
};
|
||||
}
|
||||
```
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue