Compare commits

...

25 commits

Author SHA1 Message Date
raf
07b00f4f33
Merge branch 'v0.8' into notashelf/push-qzzvtnwpuqmr 2025-09-13 10:13:40 +03:00
9b16ec15c3
wrapper/build: add option examples; put evaluated values in literalExpression
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69648220a65886994d4cac67f634a61815d5
2025-09-13 10:05:52 +03:00
850559fd51
utility/image-nvim: support sixel in backend enum
Some checks are pending
Set up binary cache / cachix (default) (push) Waiting to run
Set up binary cache / cachix (maximal) (push) Waiting to run
Set up binary cache / cachix (nix) (push) Waiting to run
Treewide Checks / Validate flake (push) Waiting to run
Treewide Checks / Check formatting (push) Waiting to run
Treewide Checks / Check source tree for typos (push) Waiting to run
Treewide Checks / Validate documentation builds (push) Waiting to run
Treewide Checks / Validate hyperlinks in documentation sources (push) Waiting to run
Treewide Checks / Validate Editorconfig conformance (push) Waiting to run
Build and deploy documentation / Check latest commit (push) Waiting to run
Build and deploy documentation / publish (push) Blocked by required conditions
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a696461887a5f55632334e644ab04e0de5d76
2025-09-13 10:01:19 +03:00
fada903b57
pins: bump image.nvim
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69643517cbcdac85a6113bd9eb7fa5fb2dd6
2025-09-13 10:01:18 +03:00
raf
c7944a48a3
Merge pull request #1138 from ky-bean/autocmd-doc-fix
Some checks failed
Set up binary cache / cachix (default) (push) Has been cancelled
Set up binary cache / cachix (maximal) (push) Has been cancelled
Set up binary cache / cachix (nix) (push) Has been cancelled
Treewide Checks / Validate flake (push) Has been cancelled
Treewide Checks / Check formatting (push) Has been cancelled
Treewide Checks / Check source tree for typos (push) Has been cancelled
Treewide Checks / Validate documentation builds (push) Has been cancelled
Treewide Checks / Validate hyperlinks in documentation sources (push) Has been cancelled
Treewide Checks / Validate Editorconfig conformance (push) Has been cancelled
Build and deploy documentation / Check latest commit (push) Has been cancelled
Build and deploy documentation / publish (push) Has been cancelled
docs: fix referenes to erroneous `lib.nvim.types.luaInline`
2025-09-09 08:59:58 +03:00
ky-bean
e4c8757752
Documentation: Fix referenes to erroneous lib.nvim.types.luaInline 2025-09-08 22:12:19 -07:00
raf
fb31022b36
Merge pull request #1130 from horriblename/bump-lz-n
Some checks failed
Set up binary cache / cachix (default) (push) Has been cancelled
Set up binary cache / cachix (maximal) (push) Has been cancelled
Set up binary cache / cachix (nix) (push) Has been cancelled
Treewide Checks / Validate flake (push) Has been cancelled
Treewide Checks / Check formatting (push) Has been cancelled
Treewide Checks / Check source tree for typos (push) Has been cancelled
Treewide Checks / Validate documentation builds (push) Has been cancelled
Treewide Checks / Validate hyperlinks in documentation sources (push) Has been cancelled
Treewide Checks / Validate Editorconfig conformance (push) Has been cancelled
Build and deploy documentation / Check latest commit (push) Has been cancelled
Build and deploy documentation / publish (push) Has been cancelled
Bump lz.n
2025-09-05 21:13:14 +03:00
Ching Pei Yang
f9a422814d
lazy: fix error on empty lz.n spec 2025-09-05 17:44:36 +02:00
Ching Pei Yang
b2d0a58252
npins: bump lz.n
fixes crash #1129
2025-09-05 17:37:49 +02:00
raf
f5c91f6a66
Merge pull request #1128 from NotAShelf/dependabot/github_actions/actions/labeler-6
Some checks are pending
Treewide Checks / Validate flake (push) Waiting to run
Treewide Checks / Check formatting (push) Waiting to run
Treewide Checks / Check source tree for typos (push) Waiting to run
Treewide Checks / Validate documentation builds (push) Waiting to run
Treewide Checks / Validate hyperlinks in documentation sources (push) Waiting to run
Treewide Checks / Validate Editorconfig conformance (push) Waiting to run
build(deps): bump actions/labeler from 5 to 6
2025-09-05 07:51:59 +03:00
dependabot[bot]
cae113a0da
build(deps): bump actions/labeler from 5 to 6
Bumps [actions/labeler](https://github.com/actions/labeler) from 5 to 6.
- [Release notes](https://github.com/actions/labeler/releases)
- [Commits](https://github.com/actions/labeler/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/labeler
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-04 19:08:20 +00:00
raf
7b009c945d
Merge pull request #1126 from myume/main
Some checks failed
Set up binary cache / cachix (default) (push) Has been cancelled
Set up binary cache / cachix (maximal) (push) Has been cancelled
Set up binary cache / cachix (nix) (push) Has been cancelled
Treewide Checks / Validate flake (push) Has been cancelled
Treewide Checks / Check formatting (push) Has been cancelled
Treewide Checks / Check source tree for typos (push) Has been cancelled
Treewide Checks / Validate documentation builds (push) Has been cancelled
Treewide Checks / Validate hyperlinks in documentation sources (push) Has been cancelled
Treewide Checks / Validate Editorconfig conformance (push) Has been cancelled
Build and deploy documentation / Check latest commit (push) Has been cancelled
Build and deploy documentation / publish (push) Has been cancelled
themes/catppuccin: propagate transparency to floating window options
2025-09-03 06:35:02 +03:00
myu
5f2718875e themes/catppuccin: propagate transparency to floating window options 2025-09-02 20:19:21 -04:00
7d1061210a
flake: bump inputs
Some checks are pending
Set up binary cache / cachix (default) (push) Waiting to run
Set up binary cache / cachix (maximal) (push) Waiting to run
Set up binary cache / cachix (nix) (push) Waiting to run
Treewide Checks / Validate flake (push) Waiting to run
Treewide Checks / Check formatting (push) Waiting to run
Treewide Checks / Check source tree for typos (push) Waiting to run
Treewide Checks / Validate documentation builds (push) Waiting to run
Treewide Checks / Validate hyperlinks in documentation sources (push) Waiting to run
Treewide Checks / Validate Editorconfig conformance (push) Waiting to run
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964e9529236a655fa8eab7812c9aa4f541f
2025-09-02 16:47:15 +03:00
raf
bf485ab9b6
Merge pull request #1121 from jules-sommer/main
Some checks failed
Set up binary cache / cachix (default) (push) Has been cancelled
Set up binary cache / cachix (maximal) (push) Has been cancelled
Set up binary cache / cachix (nix) (push) Has been cancelled
Treewide Checks / Validate flake (push) Has been cancelled
Treewide Checks / Check formatting (push) Has been cancelled
Treewide Checks / Check source tree for typos (push) Has been cancelled
Treewide Checks / Validate documentation builds (push) Has been cancelled
Treewide Checks / Validate hyperlinks in documentation sources (push) Has been cancelled
Treewide Checks / Validate Editorconfig conformance (push) Has been cancelled
Build and deploy documentation / Check latest commit (push) Has been cancelled
Build and deploy documentation / publish (push) Has been cancelled
ui/nvim-highlight-colors: init
2025-08-31 22:34:45 +03:00
raf
c3ed4dd94f
Merge branch 'main' into main 2025-08-31 22:28:12 +03:00
jules
d76b4284b0 ui/nvim-highlight-colors: remove untyped vendored options 2025-08-31 13:49:17 -04:00
raf
aa5b1913e3
Merge pull request #1122 from NotAShelf/notashelf/push-sknqmuqzlnwn
meta: bump plugins; fix bufferline
2025-08-31 19:38:04 +03:00
raf
0134731d8e
Merge branch 'main' into notashelf/push-sknqmuqzlnwn 2025-08-31 19:32:35 +03:00
7592797325
nvim-bufferline: fix catppuccin integration
Handle breaking changes gracefully for once, ffs

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69647fc9d590ec3cb0cee53e4e6ae2f88de5
2025-08-31 19:28:34 +03:00
2586f3ef61
pins: use the new repo URL for bufferline
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964c0ebfa467707e442430be2a1d955e644
2025-08-31 19:28:33 +03:00
c5ed9b3c66
pins: bump all plugins
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69644b51c952480434b2355f1f1e4b22511c
2025-08-31 19:28:32 +03:00
jules
9c21bd06a2 ui/nvim-highlight-colors: init 2025-08-31 10:59:10 -04:00
939fb8cfc6
pins: bump all inputs
Some checks are pending
Set up binary cache / cachix (default) (push) Waiting to run
Set up binary cache / cachix (maximal) (push) Waiting to run
Set up binary cache / cachix (nix) (push) Waiting to run
Treewide Checks / Validate flake (push) Waiting to run
Treewide Checks / Check formatting (push) Waiting to run
Treewide Checks / Check source tree for typos (push) Waiting to run
Treewide Checks / Validate documentation builds (push) Waiting to run
Treewide Checks / Validate hyperlinks in documentation sources (push) Waiting to run
Treewide Checks / Validate Editorconfig conformance (push) Waiting to run
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69644b51c952480434b2355f1f1e4b22511c
2025-08-31 16:20:17 +03:00
441d2f2ec4
flake: bump inputs
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69649d37d0891d76becae7df958a11857747
2025-08-31 15:44:33 +03:00
18 changed files with 522 additions and 357 deletions

View file

@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
if: "!contains(github.event.pull_request.title, '[skip ci]')"
steps:
- uses: actions/labeler@v5
- uses: actions/labeler@v6
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
configuration-path: .github/labels.yml

View file

@ -43,7 +43,7 @@ with the following options:
| `enable` | `bool` | `true` | Enables or disables this autocommand definition. | `true` |
| `event` | `nullOr (listOf str)` | `null` | **Required.** List of Neovim events that trigger this autocommand (e.g., `BufWritePre`, `FileType`). | `[ "BufWritePre" ]` |
| `pattern` | `nullOr (listOf str)` | `null` | List of file patterns (globs) to match against (e.g., `*.py`, `*`). If `null`, matches all files for the given event. | `[ "*.lua", "*.nix" ]` |
| `callback` | `nullOr luaInline` | `null` | A Lua function to execute when the event triggers. Use `lib.nvim.types.luaInline` or `lib.options.literalExpression "mkLuaInline '''...'''"`. **Cannot be used with `command`.** | `lib.nvim.types.luaInline "function() print('File saved!') end"` |
| `callback` | `nullOr luaInline` | `null` | A Lua function to execute when the event triggers. Use `lib.generators.mkLuaInline`. **Cannot be used with `command`.** | `lib.generators.mkLuaInline "function() print('File saved!') end"` |
| `command` | `nullOr str` | `null` | A Vimscript command to execute when the event triggers. **Cannot be used with `callback`.** | `"echo 'File saved!'"` |
| `group` | `nullOr str` | `null` | The name of an `augroup` (defined in `vim.augroups`) to associate this autocommand with. | `"MyCustomAuGroup"` |
| `desc` | `nullOr str` | `null` | A description for the autocommand (useful for introspection). | `"Format buffer on save"` |
@ -71,7 +71,7 @@ Vimscript) for the same autocommand. Choose one.
pattern = [ "*.lua" ];
group = "UserSetup";
desc = "Notify after saving Lua file";
callback = lib.nvim.types.luaInline ''
callback = lib.generators.mkLuaInline ''
function()
vim.notify("Lua file saved!", vim.log.levels.INFO)
end

View file

@ -518,3 +518,10 @@
[htmlHINT].
- Add QMK support under `vim.utility.qmk-nvim` via [qmk-nvim].
- Add QML support under `vim.languages.qml` using [qmlls] and [qmlformat]
[Jules](https://github.com/jules-sommer):
[nvim-highlight-colors]: https://github.com/brenoprata10/nvim-highlight-colors
- Add [nvim-highlight-colors] plugin in `vim.ui.nvim-highlight-colors` with
`enable` and `setupOpts`

18
flake.lock generated
View file

@ -23,11 +23,11 @@
]
},
"locked": {
"lastModified": 1754487366,
"narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
"lastModified": 1756770412,
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
"rev": "4524271976b625a4a605beefd893f270620fd751",
"type": "github"
},
"original": {
@ -38,11 +38,11 @@
},
"mnw": {
"locked": {
"lastModified": 1748710831,
"narHash": "sha256-eZu2yH3Y2eA9DD3naKWy/sTxYS5rPK2hO7vj8tvUCSU=",
"lastModified": 1756659871,
"narHash": "sha256-v6Rh4aQ6RKjM2N02kK9Usn0Ix7+OY66vNpeklc1MnGE=",
"owner": "Gerg-L",
"repo": "mnw",
"rev": "cff958a4e050f8d917a6ff3a5624bc4681c6187d",
"rev": "ed6cc3e48557ba18266e598a5ebb6602499ada16",
"type": "github"
},
"original": {
@ -53,11 +53,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1755049066,
"narHash": "sha256-ANrc15FSoOAdNbfKHxqEJjZLftIwIsenJGRb/04K41s=",
"lastModified": 1756696532,
"narHash": "sha256-6FWagzm0b7I/IGigOv9pr6LL7NQ86mextfE8g8Q6HBg=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e45f8f193029378d0aaee5431ba098dc80054e9a",
"rev": "58dcbf1ec551914c3756c267b8b9c8c86baa1b2f",
"type": "github"
},
"original": {

View file

@ -22,7 +22,7 @@
pname = "avante-nvim-lib";
inherit version src;
cargoHash = "sha256-8mBpzndz34RrmhJYezd4hLrJyhVL4S4IHK3plaue1k8=";
cargoHash = "sha256-pTWCT2s820mjnfTscFnoSKC37RE7DAPKxP71QuM+JXQ=";
nativeBuildInputs = [
pkg-config

View file

@ -38,7 +38,7 @@
type = nullOr luaInline;
default = null;
example = literalExpression ''
mkLuaInline '''
lib.generators.mkLuaInline '''
function()
print("Saving a Lua file...")
end

View file

@ -15,7 +15,7 @@ in {
config = mkIf cfg.enable {
vim = {
startPlugins = [
"nvim-bufferline-lua"
"bufferline-nvim"
"bufdelete-nvim"
];

View file

@ -3,7 +3,7 @@
lib,
...
}: let
inherit (lib.options) mkOption mkEnableOption literalExpression;
inherit (lib.options) mkOption mkEnableOption literalExpression literalMD;
inherit (lib.types) enum bool either nullOr str int listOf attrs;
inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.binds) mkMappingOption;
@ -24,17 +24,28 @@ in {
movePrevious = mkMappingOption "Move previous buffer" "<leader>bmp";
};
setupOpts = mkPluginSetupOption "Bufferline-nvim" {
setupOpts = mkPluginSetupOption "bufferline-nvim" {
highlights = mkOption {
type = either attrs luaInline;
default =
if config.vim.theme.enable && config.vim.theme.name == "catppuccin"
then
mkLuaInline
''
require("catppuccin.groups.integrations.bufferline").get()
mkLuaInline ''
(function()
local integration = require("catppuccin.groups.integrations.bufferline")
return (integration.get_theme or integration.get)()
end)()
''
else {};
defaultText = literalMD ''
```lua
(function()
local integration = require("catppuccin.groups.integrations.bufferline")
return (integration.get_theme or integration.get)()
end)()
```
if the active theme is Catppuccin, `{}` otherwise.
'';
description = ''
Overrides the highlight groups of bufferline.
@ -59,10 +70,11 @@ in {
themable = mkOption {
type = bool;
default = true;
example = false;
description = ''
Whether or not to allow highlight groups to be overridden.
While false, bufferline.nvim sets highlights as default.
While `false`, bufferline.nvim sets highlights as default.
'';
};

View file

@ -71,6 +71,9 @@ in {
require('catppuccin').setup {
flavour = "${style}",
transparent_background = ${boolToString transparent},
float = {
transparent = ${boolToString transparent},
},
term_colors = true,
integrations = {
nvimtree = {

View file

@ -3,6 +3,7 @@
./borders
./breadcrumbs
./colorful-menu-nvim
./nvim-highlight-colors
./colorizer
./fastaction
./illuminate

View file

@ -0,0 +1,28 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.ui.nvim-highlight-colors;
in {
config = mkIf cfg.enable {
vim = {
startPlugins = [
"nvim-highlight-colors"
];
# enable display of 24-bit RGB colors in neovim
# via the terminal. This is required for nvim-highlight-colors
# to display arbitrary RGB highlights.
options.termguicolors = true;
pluginRC.nvim-highlight-colors = entryAnywhere ''
require('nvim-highlight-colors').setup(${toLuaObject cfg.setupOpts})
'';
};
};
}

View file

@ -0,0 +1,6 @@
{
imports = [
./nvim-highlight-colors.nix
./config.nix
];
}

View file

@ -0,0 +1,71 @@
{lib, ...}: let
inherit (lib.options) mkOption mkEnableOption;
inherit (lib.types) attrsOf enum nullOr submodule bool str;
inherit (lib.modules) mkRenamedOptionModule;
inherit (lib.nvim.types) mkPluginSetupOption;
inherit (lib.nvim.config) mkBool;
in {
options.vim.ui.nvim-highlight-colors = {
enable = mkEnableOption "color highlighting [nvim-highlight-colors.lua]";
setupOpts = mkPluginSetupOption "nvim-highlight-colors" {
render = mkOption {
type = enum ["background" "foreground" "virtual"];
default = "background";
example = "virtual";
description = ''
Style to render color highlighting with.
::: {.note}
Each render style works as follows:
- 'background' sets the background
highlight of the matched color string
to the RGB color it describes.
- 'foreground' sets the foreground
highlight of the matched color string
to the RGB color it describes.
- 'virtual' displays the matched color
with virtual text alongside the color
string in the buffer. Virtual text can
be configured to display the color in
various ways, i.e custom virtual symbol
(via `virtual_symbol`) positioning
relative to string, suffix/prefix, etc.
:::
'';
};
virtual_symbol_position = mkOption {
type = enum ["inline" "eol" "eow"];
default = "inline";
example = "eol";
description = ''
Where to render the virtual symbol in
relation to the color string.
::: {.note}
Each render style works as follows:
- 'inline' render virtual text inline,
similar to the style of VSCode color
hinting.
- 'eol' render virtual text at the end
of the line which the color string
occurs (last column). Recommended to
set `virtual_symbol_suffix` to an
empty string when used.
- 'eow' render virtual text at the end
of the word where the color string
occurs. Recommended to set
`virtual_symbol_prefix` to a single
space for padding and the suffix to
an empty string for no padding.
:::
'';
};
};
};
}

View file

@ -9,14 +9,16 @@ in {
setupOpts = mkPluginSetupOption "image.nvim" {
backend = mkOption {
type = enum ["kitty" "ueberzug"];
type = enum ["kitty" "ueberzug" "sixel"];
default = "ueberzug";
description = ''
The backend to use for rendering images.
- kitty - best in class, works great and is very snappy
- ueberzug - backed by ueberzugpp, supports any terminal,
* `kitty` - best in class, works great and is very snappy. Recommended
by upstream.
* `ueberzug` - backed by ueberzugpp, supports any terminal,
but has lower performance
* `sixel` - uses the Sixel graphics protocol, widely supported by many terminals
'';
};

View file

@ -22,9 +22,7 @@
passthru.vimPlugin = false;
};
# build a vim plugin with the given name and arguments
# if the plugin is nvim-treesitter, warn the user to use buildTreesitterPlug
# instead
# Build a Vim plugin with the given name and arguments.
buildPlug = attrs: let
pin = getPin attrs.pname;
in
@ -36,6 +34,7 @@
// attrs
);
# Build a given Treesitter grammar.
buildTreesitterPlug = grammars: vimPlugins.nvim-treesitter.withPlugins (_: grammars);
pluginBuilders = {
@ -48,6 +47,9 @@
doCheck = false;
};
# Get plugins built from source from self.packages
# If adding a new plugin to be built from source, it must also be inherited
# here.
inherit (inputs.self.packages.${pkgs.stdenv.system}) blink-cmp avante-nvim;
};
@ -71,29 +73,38 @@
# Wrap the user's desired (unwrapped) Neovim package with arguments that'll be used to
# generate a wrapped Neovim package.
neovim-wrapped = inputs.mnw.lib.wrap {inherit pkgs;} {
appName = "nvf";
neovim = config.vim.package;
initLua = config.vim.builtLuaConfigRC;
luaFiles = config.vim.extraLuaFiles;
# Plugin configurations
plugins = {
start = buildConfigPlugins config.vim.startPlugins;
opt = buildConfigPlugins config.vim.optPlugins;
};
appName = "nvf";
extraBinPath = config.vim.extraPackages;
initLua = config.vim.builtLuaConfigRC;
luaFiles = config.vim.extraLuaFiles;
# Providers for Neovim
providers = {
ruby.enable = config.vim.withRuby;
nodeJs.enable = config.vim.withNodeJs;
python3 = {
enable = config.vim.withPython3;
extraPackages = ps: map (flip builtins.getAttr ps) config.vim.python3Packages;
};
ruby.enable = config.vim.withRuby;
nodeJs.enable = config.vim.withNodeJs;
};
# Aliases to link `nvim` to
aliases = lib.optional config.vim.viAlias "vi" ++ lib.optional config.vim.vimAlias "vim";
# Additional packages or Lua packages to be made available to Neovim
extraBinPath = config.vim.extraPackages;
extraLuaPackages = ps: map (flip builtins.getAttr ps) config.vim.luaPackages;
};
# A store path representing the built Lua configuration.
dummyInit = pkgs.writeText "nvf-init.lua" config.vim.builtLuaConfigRC;
# Additional helper scripts for printing and displaying nvf configuration
# in your commandline.
printConfig = pkgs.writers.writeDashBin "nvf-print-config" "cat ${dummyInit}";
@ -106,10 +117,20 @@
paths = [neovim-wrapped printConfig printConfigPath];
postBuild = "echo Helpers added";
# Allow evaluating config.vim, i.e., config.vim from the packages' passthru
# attribute. For example, packages.x86_64-linux.neovim.passthru.neovimConfig
# will return the configuration in full.
passthru.neovimConfig = config.vim;
passthru = {
# Allow evaluating config.vim, i.e., config.vim from the packages' passthru
# attribute. For example, packages.x86_64-linux.neovim.passthru.neovimConfig
# will return the configuration in full.
neovimConfig = config.vim;
# Also expose the helper scripts in passthru.
nvfPrintConfig = printConfig;
nvfPrintConfigPath = printConfigPath;
# In systems where we only have a package and no module, this can be used
# to access the built init.lua
initLua = dummyInit;
};
meta =
neovim-wrapped.meta

View file

@ -3,7 +3,7 @@
lib,
...
}: let
inherit (lib.options) mkOption mkEnableOption literalMD;
inherit (lib.options) mkOption mkEnableOption literalMD literalExpression;
inherit (lib.types) package bool str listOf attrsOf;
inherit (lib.nvim.types) pluginsOpt extraPluginType;
in {
@ -11,6 +11,7 @@ in {
package = mkOption {
type = package;
default = pkgs.neovim-unwrapped;
defaultText = literalExpression "pkgs.neovim-unwrapped";
description = ''
The neovim package to use for the wrapper. This
corresponds to the package that will be wrapped
@ -27,21 +28,20 @@ in {
viAlias = mkOption {
type = bool;
default = true;
example = false;
description = "Enable the `vi` alias for `nvim`";
};
vimAlias = mkOption {
type = bool;
default = true;
example = false;
description = "Enable the `vim` alias for `nvim`";
};
startPlugins = pluginsOpt {
default = ["plenary-nvim"];
example = ''
[pkgs.vimPlugins.telescope-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.
@ -54,9 +54,7 @@ in {
optPlugins = pluginsOpt {
default = [];
example = ''
[pkgs.vimPlugins.vim-ghost]
'';
example = literalExpression "[pkgs.vimPlugins.vim-ghost]";
description = ''
List of plugins to optionally load on startup.
@ -108,7 +106,7 @@ in {
'';
};
# this defaults to `true` in the wrapper
# This defaults to `true` in the wrapper
# and since we pass this value to the wrapper
# with an inherit, it should be `true` here as well
withRuby =
@ -120,14 +118,14 @@ in {
};
withNodeJs = mkEnableOption ''
NodeJs support in the Neovim wrapper
NodeJS support in the Neovim wrapper
'';
luaPackages = mkOption {
type = listOf str;
default = [];
example = ''["magick" "serpent"]'';
description = "List of lua packages to install";
description = "List of Lua packages to install";
};
withPython3 = mkEnableOption ''
@ -144,7 +142,7 @@ in {
pluginOverrides = mkOption {
type = attrsOf package;
default = {};
example = ''
example = literalExpression ''
{
lazydev-nvim = pkgs.fetchFromGitHub {
owner = "folke";

View file

@ -145,7 +145,7 @@ in {
];
lazy.builtLazyConfig = ''
require('lz.n').load(${toLuaObject lznSpecs})
${optionalString (length lznSpecs > 0) "require('lz.n').load(${toLuaObject lznSpecs})"}
${optionalString cfg.enableLznAutoRequire "require('lzn-auto-require').enable()"}
'';
})

File diff suppressed because it is too large Load diff