mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-09-06 10:21:31 +00:00
treewide: restructure modules directory; add comments to modules top-level import
This commit is contained in:
parent
6eea801cd6
commit
43263040a4
14 changed files with 218 additions and 181 deletions
106
modules/wrapper/build/options.nix
Normal file
106
modules/wrapper/build/options.nix
Normal file
|
@ -0,0 +1,106 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.options) mkOption literalExpression;
|
||||
inherit (lib.types) package bool str listOf attrsOf;
|
||||
inherit (lib.nvim.types) pluginsOpt extraPluginType;
|
||||
in {
|
||||
options.vim = {
|
||||
package = mkOption {
|
||||
type = package;
|
||||
default = pkgs.neovim-unwrapped;
|
||||
description = ''
|
||||
The neovim package to use.
|
||||
|
||||
::: {.warning}
|
||||
You will need to use an unwrapped package for this
|
||||
option to work as intended.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
viAlias = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
description = "Enable the `vi` alias for `nvim`";
|
||||
};
|
||||
|
||||
vimAlias = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
description = "Enable the `vim` alias for `nvim`";
|
||||
};
|
||||
|
||||
startPlugins = pluginsOpt {
|
||||
default = ["plenary-nvim"];
|
||||
example = literalExpression ''
|
||||
[pkgs.vimPlugins.telescope-nvim]
|
||||
'';
|
||||
|
||||
description = ''
|
||||
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 [{option}`vim.extraPlugins`](#opt-vim.optPlugins)
|
||||
option.
|
||||
'';
|
||||
};
|
||||
|
||||
optPlugins = pluginsOpt {
|
||||
default = [];
|
||||
example = literalExpression ''
|
||||
[pkgs.vimPlugins.vim-ghost]
|
||||
'';
|
||||
description = ''
|
||||
List of plugins to optionally load on startup.
|
||||
|
||||
This option has the same type definition as {option}`vim.startPlugins`
|
||||
and plugins in this list are appended to {option}`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 {option}`vim.extraPlugins` option.
|
||||
'';
|
||||
};
|
||||
|
||||
extraPlugins = mkOption {
|
||||
type = attrsOf extraPluginType;
|
||||
default = {};
|
||||
description = ''
|
||||
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 neovim-flake's modified DAG
|
||||
library.
|
||||
'';
|
||||
|
||||
example = literalExpression ''
|
||||
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
|
||||
};
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
luaPackages = mkOption {
|
||||
type = listOf str;
|
||||
default = [];
|
||||
example = literalExpression ''["magick" "serpent"]'';
|
||||
description = ''
|
||||
List of lua packages to install.
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue