Compare commits

..

No commits in common. "3e4503f9c1b3fb4b3e51a07214b48e0ab78c7d1a" and "5f1302321a83fe7661cd367f9fc75e18a11d84f8" have entirely different histories.

144 changed files with 51 additions and 2995 deletions

3
.github/FUNDING.yml vendored
View file

@ -1 +1,4 @@
github: NotAShelf
ko_fi: NotAShelf
liberapay: NotAShelf

View file

@ -2,7 +2,7 @@ name: Build and Preview Manual
on:
workflow_dispatch:
pull_request_target:
pull_request:
types: [opened, synchronize, reopened, closed]
paths:
- ".github/workflows/docs-preview.yml"

View file

@ -1,16 +1,13 @@
.TH "nvf" "5" "January 1, 1980" "nvf"
.TH "nvf" "5" "01/01/1980" "nvf"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" enable line breaks after slashes
.cflags 4 /
.SH "NAME"
nvf \- Configuration specification for the nvf.
.SH "DESCRIPTION"
The nvf configuration specification provides a declarative structure for configuring Neovim using Nix with few
lines of Nix. This document outlines the available options and their usage to create modular, reusable, and
reproducible configurations using nvf's module system options. For tips, tricks and possible quirks with available
plugins please visit https://notashelf.github.io/nvf/
nvf configuration specification
.SH "OPTIONS"
.PP
You can use the following options to configure nvf:
.PP

View file

@ -1,5 +1,5 @@
.Dd January 1, 1980
.Dt NVF 1
.Dt nvf 1
.Os nvf
.\" disable hyphenation
.nh
@ -7,46 +7,27 @@
.ad l
.\" enable line breaks after slashes
.cflags 4 /
.Sh NAME
.Nm nvf
.Nd A modular, extensible, and distro-agnostic Neovim configuration framework for Nix/NixOS.
.Sh DESCRIPTION
.Nm nvf
is a highly modular, configurable, extensible, and easy-to-use Neovim configuration in Nix.
Designed for flexibility and ease of use, nvf allows you to easily configure your fully featured
Neovim instance with a few lines of Nix.
.Sh COMMANDS
The following commands are bundled with nvf to allow easier debugging of your configuration.
.Bl -tag -width Ds
.It Nm nvf-print-config
Outputs the full configuration of the current `nvf` setup. This command is useful for debugging
or inspecting the applied configuration.
.Pp
.It Nm nvf-print-config-path
Prints the file path to the configuration file currently in use. This command is helpful for locating
the source configuration file for troubleshooting or easily sharing it via online paste utilities.
.El
.Nd A highly modular, extensible and distro-agnostic Neovim configuration framework for Nix/NixOS.
.
.Sh BUGS
.Pp
Please report any bugs on the project issue tracker:
.Lk https://github.com/notashelf/nvf/issues
Please report any bugs that you might encounter on the
\m[blue]\fBproject issue tracker\fR\m[]\&.
.Sh SEE ALSO
.Pp
.Fn nvf 5
\fBnvf\fR(5)
.Sh AUTHOR
.Pp
.Fn nvf contributors
\fBnvf contributors\fR
.RS 4
Primary contributors and maintainers of the project.
Author.
.RE
.Sh COPYRIGHT
.Pp
Copyright (c) 20232025 nvf contributors.
.br
Copyright \(co 2023\(en2024 nvf contributors
.br

View file

@ -26,17 +26,6 @@
- Deprecate rnix-lsp as it has been abandoned and archived upstream.
- Hardcoded indentation values for the Nix language module have been removed. To
replicate previous behaviour, you must either consolidate Nix indentation in
your Editorconfig configuration, or use an autocommand to set indentation
values for buffers with the Nix filetype.
- Add [](#opt-vim.lsp.lightbulb.autocmd.enable) for manually managing the
previously managed lightbulb autocommand.
- 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.
Pick only one.
[amadaluzia](https://github.com/amadaluzia):
[haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim
@ -52,8 +41,8 @@
[horriblename](https://github.com/horriblename):
[aerial.nvim]: (https://github.com/stevearc/aerial.nvim)
[nvim-ufo]: (https://github.com/kevinhwang91/nvim-ufo)
[aerial.nvim](https://github.com/stevearc/aerial.nvim)
[nvim-ufo](https://github.com/kevinhwang91/nvim-ufo)
- Add [aerial.nvim]
- Add [nvim-ufo]
@ -63,55 +52,7 @@
- Remove `vim.notes.obsidian.setupOpts.dir`, which was set by default. Fixes
issue with setting the workspace directory.
- Add `vim.snippets.luasnip.setupOpts`, which was previously missing.
- Add `"prettierd"` as a formatter option in
`vim.languages.markdown.format.type`.
- Add the following plugins from
[mini.nvim](https://github.com/echasnovski/mini.nvim)
- `mini.ai`
- `mini.align`
- `mini.animate`
- `mini.base16`
- `mini.basics`
- `mini.bracketed`
- `mini.bufremove`
- `mini.clue`
- `mini.colors`
- `mini.comment`
- `mini.completion`
- `mini.deps`
- `mini.diff`
- `mini.doc`
- `mini.extra`
- `mini.files`
- `mini.fuzzy`
- `mini.git`
- `mini.hipatterns`
- `mini.hues`
- `mini.icons`
- `mini.indentscope`
- `mini.jump`
- `mini.jump2d`
- `mini.map`
- `mini.misc`
- `mini.move`
- `mini.notify`
- `mini.operators`
- `mini.pairs`
- `mini.pick`
- `mini.sessions`
- `mini.snippets`
- `mini.splitjoin`
- `mini.starter`
- `mini.statusline`
- `mini.surround`
- `mini.tabline`
- `mini.test`
- `mini.trailspace`
- `mini.visits`
- Add [fzf-lua](https://github.com/ibhagwan/fzf-lua) in `vim.fzf-lua`
- Add [rainbow-delimiters](https://github.com/HiPhish/rainbow-delimiters.nvim)
in `vim.visuals.rainbow-delimiters`
- Add options to define highlights under [](#opt-vim.highlight)
- Add `"prettierd"` as a formatter option in `vim.languages.markdown.format.type`.
[kaktu5](https://github.com/kaktu5):
@ -120,18 +61,5 @@
[tomasguinzburg](https://github.com/tomasguinzburg):
[solargraph]: https://github.com/castwide/solargraph
[gbprod/nord.nvim]: https://github.com/gbprod/nord.nvim
- Add Ruby support under `vim.languages.ruby` using [solargraph].
- Add `nord` theme from [gbprod/nord.nvim].
[thamenato](https://github.com/thamenato):
[ruff]: (https://github.com/astral-sh/ruff)
- Add [ruff] as a formatter option in `vim.languages.python.format.type`.
[ARCIII](https://github.com/ArmandoCIII):
- Add `vim.languages.zig.dap` support through pkgs.lldb dap adapter. Code
Inspiration from `vim.languages.clang.dap` implementation.

737
flake.lock generated
View file

@ -77,11 +77,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1737370608,
"narHash": "sha256-hFA6SmioeqvGW/XvZa9bxniAeulksCOcj3kokdNT/YE=",
"lastModified": 1735523292,
"narHash": "sha256-opBsbR/nrGxiiF6XzlVluiHYb6yN/hEwv+lBWTy9xoM=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "300081d0cc72df578b02d914df941b8ec62240e6",
"rev": "6d97d419e5a9b36e6293887a89a078cf85f5a61b",
"type": "github"
},
"original": {
@ -599,22 +599,6 @@
"type": "github"
}
},
"plugin-fzf-lua": {
"flake": false,
"locked": {
"lastModified": 1737131132,
"narHash": "sha256-0IdADUsIr+SZ0ort92jPPfGIH1EdcwELYz+TCmDCPPI=",
"owner": "ibhagwan",
"repo": "fzf-lua",
"rev": "fbe21aeb147b3dc8b188b5753a8e288ecedcee5e",
"type": "github"
},
"original": {
"owner": "ibhagwan",
"repo": "fzf-lua",
"type": "github"
}
},
"plugin-gesture-nvim": {
"flake": false,
"locked": {
@ -952,646 +936,6 @@
"type": "github"
}
},
"plugin-mini-ai": {
"flake": false,
"locked": {
"lastModified": 1733662803,
"narHash": "sha256-b/776l9nYM9e2atzXrvOk9dCxjzIuW/+iINC/yPv88Y=",
"owner": "echasnovski",
"repo": "mini.ai",
"rev": "ebb04799794a7f94628153991e6334c3304961b8",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.ai",
"type": "github"
}
},
"plugin-mini-align": {
"flake": false,
"locked": {
"lastModified": 1735582248,
"narHash": "sha256-oHub8dEihIx4kcP3CD9GXG1SUObJUVpH4bg2Z6PmadQ=",
"owner": "echasnovski",
"repo": "mini.align",
"rev": "e715137aece7d05734403d793b8b6b64486bc812",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.align",
"type": "github"
}
},
"plugin-mini-animate": {
"flake": false,
"locked": {
"lastModified": 1733078395,
"narHash": "sha256-ZePmJuHCCymTgaK46nSg5tRloxs+UKrVgVmT++rGKpc=",
"owner": "echasnovski",
"repo": "mini.animate",
"rev": "d14190ac3040116540889e2ebc25f488b195799e",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.animate",
"type": "github"
}
},
"plugin-mini-base16": {
"flake": false,
"locked": {
"lastModified": 1734960100,
"narHash": "sha256-VGs4k/xDujPcA0Nv5T18ybSv1iqnzg0AFmaweRdhvDM=",
"owner": "echasnovski",
"repo": "mini.base16",
"rev": "23453dacc1606e5d42238d82f0b42a2985386b62",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.base16",
"type": "github"
}
},
"plugin-mini-basics": {
"flake": false,
"locked": {
"lastModified": 1730194519,
"narHash": "sha256-R8POaMcgb6SBOxIpanZsswieywapnU7zDNjQMRTkR8U=",
"owner": "echasnovski",
"repo": "mini.basics",
"rev": "67c10b3436d5d3b892715137f4773e71c6753b13",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.basics",
"type": "github"
}
},
"plugin-mini-bracketed": {
"flake": false,
"locked": {
"lastModified": 1737036218,
"narHash": "sha256-y+tGFF1H37ES/hnEtr3GJK3GeB6D5s8ZdSpvzl+lh3s=",
"owner": "echasnovski",
"repo": "mini.bracketed",
"rev": "0091e11fabe34973fc038a8d0d0485202742e403",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.bracketed",
"type": "github"
}
},
"plugin-mini-bufremove": {
"flake": false,
"locked": {
"lastModified": 1730726192,
"narHash": "sha256-CB6ZIlrCQlh2W44Knnb10REDcvj4jcYkW/9CiOaoH2E=",
"owner": "echasnovski",
"repo": "mini.bufremove",
"rev": "285bdac9596ee7375db50c0f76ed04336dcd2685",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.bufremove",
"type": "github"
}
},
"plugin-mini-clue": {
"flake": false,
"locked": {
"lastModified": 1737130586,
"narHash": "sha256-/0DpZV/jXuhaqBz5j4JN3xmofATlwPMHNSm/uTXALg0=",
"owner": "echasnovski",
"repo": "mini.clue",
"rev": "63e42dad781b9ed4845d90ef1da8c52dfb6dce3f",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.clue",
"type": "github"
}
},
"plugin-mini-colors": {
"flake": false,
"locked": {
"lastModified": 1730726192,
"narHash": "sha256-B2JahCUhKpYwOJrl+BhSp3UQFiyyMGJAYKGK+uMv3fk=",
"owner": "echasnovski",
"repo": "mini.colors",
"rev": "d64b1c0f520579d905f97208eca85329e664ab88",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.colors",
"type": "github"
}
},
"plugin-mini-comment": {
"flake": false,
"locked": {
"lastModified": 1736611383,
"narHash": "sha256-vAgBDSVtXCP+rlu+cmXdoZQBGShyH7KfL8E/gvDMfnM=",
"owner": "echasnovski",
"repo": "mini.comment",
"rev": "6e1f9a8ebbf6f693fa3787ceda8ca3bf3cb6aec7",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.comment",
"type": "github"
}
},
"plugin-mini-completion": {
"flake": false,
"locked": {
"lastModified": 1732271068,
"narHash": "sha256-dlQCfHUQX9rPiSYZSRipezHX0CG/redbV2g7cpwwExY=",
"owner": "echasnovski",
"repo": "mini.completion",
"rev": "6eb9546685c4e1c4af2365b87166d4afa39d8a1b",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.completion",
"type": "github"
}
},
"plugin-mini-diff": {
"flake": false,
"locked": {
"lastModified": 1735324663,
"narHash": "sha256-dRvW/1lfVShiHmRU0mQA5g5xDyQ0EVtVLLZ0y6WSedg=",
"owner": "echasnovski",
"repo": "mini.diff",
"rev": "00f072250061ef498f91ed226918c9ec31a416a4",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.diff",
"type": "github"
}
},
"plugin-mini-doc": {
"flake": false,
"locked": {
"lastModified": 1723308950,
"narHash": "sha256-Q3DAEV1ZHS+lFhZKFCNoIjn41ksk7WRrVP2b2d6uSss=",
"owner": "echasnovski",
"repo": "mini.doc",
"rev": "bb73a3d1ff390f7e2740027ea2567017099a237c",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.doc",
"type": "github"
}
},
"plugin-mini-extra": {
"flake": false,
"locked": {
"lastModified": 1736279066,
"narHash": "sha256-lUJrviUjAmJ70g2y93aNw3e1mHGHoB9lbh44HGP7zQs=",
"owner": "echasnovski",
"repo": "mini.extra",
"rev": "477e3dda7b597b49bc1373951ea7da4da834c352",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.extra",
"type": "github"
}
},
"plugin-mini-files": {
"flake": false,
"locked": {
"lastModified": 1736535707,
"narHash": "sha256-UHW78m4BiYMMrABwdkyyzQUENgQrVFbWJnmNdRMtr0w=",
"owner": "echasnovski",
"repo": "mini.files",
"rev": "d0f03a5c38836fd2cce3dc80734124959002078c",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.files",
"type": "github"
}
},
"plugin-mini-fuzzy": {
"flake": false,
"locked": {
"lastModified": 1730726192,
"narHash": "sha256-XvDkDfwPcBxySuz58f2mpWTeo8EsOnMvZUcNI8HNZg8=",
"owner": "echasnovski",
"repo": "mini.fuzzy",
"rev": "faa5a6c0d29c28012c90bd011162963a58715428",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.fuzzy",
"type": "github"
}
},
"plugin-mini-git": {
"flake": false,
"locked": {
"lastModified": 1736535710,
"narHash": "sha256-rXuKopyZBCBbpKuytCdm8keruSNK1ohk2NdeZv1wifI=",
"owner": "echasnovski",
"repo": "mini-git",
"rev": "fc13dde6cfe87cf25a4fd1ee177c0d157468436b",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini-git",
"type": "github"
}
},
"plugin-mini-hipatterns": {
"flake": false,
"locked": {
"lastModified": 1733141274,
"narHash": "sha256-zJ8OMzfcBh9NtSg2FHDjB5DFX9C2qZRo8t8lc097sCI=",
"owner": "echasnovski",
"repo": "mini.hipatterns",
"rev": "f34975103a38b3f608219a1324cdfc58ea660b8b",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.hipatterns",
"type": "github"
}
},
"plugin-mini-hues": {
"flake": false,
"locked": {
"lastModified": 1734960100,
"narHash": "sha256-4y79ejOkRL/fajZ4jC8t4K6EgNbnTsH++mIjmo6G3q0=",
"owner": "echasnovski",
"repo": "mini.hues",
"rev": "ae6ad4c666ff42c1102344fe1eba18bb486f2e46",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.hues",
"type": "github"
}
},
"plugin-mini-icons": {
"flake": false,
"locked": {
"lastModified": 1737036219,
"narHash": "sha256-w0PxiTj9uiUffZXkMM18IO/b/zPpdRKW9ydyhvXRoqE=",
"owner": "echasnovski",
"repo": "mini.icons",
"rev": "910db5df9724d65371182948f921fce23c2c881e",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.icons",
"type": "github"
}
},
"plugin-mini-indentscope": {
"flake": false,
"locked": {
"lastModified": 1737036220,
"narHash": "sha256-Mrzc7oHXxyEGqdE003qiC9unScyb7i5A6+l8Do7yxws=",
"owner": "echasnovski",
"repo": "mini.indentscope",
"rev": "613df2830d7faeae7483ba2e736683154b95921e",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.indentscope",
"type": "github"
}
},
"plugin-mini-jump": {
"flake": false,
"locked": {
"lastModified": 1733662809,
"narHash": "sha256-qMP9ezk4xZov5S4vrUFM62lnc4YkEaZL1EVzdXwDq1Q=",
"owner": "echasnovski",
"repo": "mini.jump",
"rev": "bb93d998c9db6936697746330411f5fb9957145e",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.jump",
"type": "github"
}
},
"plugin-mini-jump2d": {
"flake": false,
"locked": {
"lastModified": 1733662811,
"narHash": "sha256-+DihKCh6GYwin3H9YD+q30MLMRNXvvb1GtKnfBinGjc=",
"owner": "echasnovski",
"repo": "mini.jump2d",
"rev": "88077058297e80f1c76a18ed801ae9d7064187c6",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.jump2d",
"type": "github"
}
},
"plugin-mini-map": {
"flake": false,
"locked": {
"lastModified": 1725613927,
"narHash": "sha256-dL+d92+GLAILQ/A1JVCwoe3B5WtwVK01tPuC+fOTB5A=",
"owner": "echasnovski",
"repo": "mini.map",
"rev": "4c58e755d75f9999abcd3b3c6e934734b6a8b098",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.map",
"type": "github"
}
},
"plugin-mini-misc": {
"flake": false,
"locked": {
"lastModified": 1734103112,
"narHash": "sha256-qnYa4IZk14MGZArmVpn15l+P9cwtFWomBVxRuYHVyXc=",
"owner": "echasnovski",
"repo": "mini.misc",
"rev": "645fb9367c19bb485902e54e5451425981498601",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.misc",
"type": "github"
}
},
"plugin-mini-move": {
"flake": false,
"locked": {
"lastModified": 1723711319,
"narHash": "sha256-nX0eAlhMnKhAftgM6qeHUuawagumLQMPKDkqZNPLljg=",
"owner": "echasnovski",
"repo": "mini.move",
"rev": "4caa1c212f5ca3d1633d21cfb184808090ed74b1",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.move",
"type": "github"
}
},
"plugin-mini-notify": {
"flake": false,
"locked": {
"lastModified": 1736790793,
"narHash": "sha256-q27j14OV6LAfoxeqBG75GSiqtqmW37GOPHpmA2fD4gs=",
"owner": "echasnovski",
"repo": "mini.notify",
"rev": "05e598d5b349bd66404d576e6a4d4340aea5f194",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.notify",
"type": "github"
}
},
"plugin-mini-operators": {
"flake": false,
"locked": {
"lastModified": 1731776514,
"narHash": "sha256-+Zhy0AhuMPSHnM6dqbV45Aa7dS7XJ4mpfcHApSbuy8A=",
"owner": "echasnovski",
"repo": "mini.operators",
"rev": "7cb4dc66c51a3d736d347bbc517dc73dc7d28888",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.operators",
"type": "github"
}
},
"plugin-mini-pairs": {
"flake": false,
"locked": {
"lastModified": 1728656795,
"narHash": "sha256-PtHxLKU1smVTx655r5SINxuz5CJmZWnBW70T8zJ/oxM=",
"owner": "echasnovski",
"repo": "mini.pairs",
"rev": "7e834c5937d95364cc1740e20d673afe2d034cdb",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.pairs",
"type": "github"
}
},
"plugin-mini-pick": {
"flake": false,
"locked": {
"lastModified": 1736696004,
"narHash": "sha256-Q4GD0WzUYNtoBMx8pIl6fX5glKn1oflS4HZVC+w/eAM=",
"owner": "echasnovski",
"repo": "mini.pick",
"rev": "09ade94d2c9c5133db9ae00f3693d82eae78e9be",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.pick",
"type": "github"
}
},
"plugin-mini-sessions": {
"flake": false,
"locked": {
"lastModified": 1735582250,
"narHash": "sha256-vyn8MGyOWFgJ5QVvjYb7K1cKDtg9qWnWYMNf80+kpHk=",
"owner": "echasnovski",
"repo": "mini.sessions",
"rev": "71c9ae596664ac110560d27eb928fc24e22bc53d",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.sessions",
"type": "github"
}
},
"plugin-mini-snippets": {
"flake": false,
"locked": {
"lastModified": 1736611383,
"narHash": "sha256-How9m7KTo66FrwjZQlgZRmJ5toFKn/+GnUbx/0va3lM=",
"owner": "echasnovski",
"repo": "mini.snippets",
"rev": "72920f62e3dd1330720e94e8f5d42592f3a1ecf8",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.snippets",
"type": "github"
}
},
"plugin-mini-splitjoin": {
"flake": false,
"locked": {
"lastModified": 1719822504,
"narHash": "sha256-LDIbh5KfupTI4zkYOlLmVCd3DuZRhx5lTASN53VG34g=",
"owner": "echasnovski",
"repo": "mini.splitjoin",
"rev": "3e92f6764e770ba392325cad3a4497adcada695f",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.splitjoin",
"type": "github"
}
},
"plugin-mini-starter": {
"flake": false,
"locked": {
"lastModified": 1736858747,
"narHash": "sha256-pJYkZUo+L3IeGCRdTipqTzMv+HatpNnyRxshaygKtIw=",
"owner": "echasnovski",
"repo": "mini.starter",
"rev": "4b257cfc93241e8c8cde3f9302d1616ad4e0d036",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.starter",
"type": "github"
}
},
"plugin-mini-statusline": {
"flake": false,
"locked": {
"lastModified": 1735582251,
"narHash": "sha256-AQ2N93JDjtFpgerWTzRspmxrl9oQuALbeCUxBO4ZPqo=",
"owner": "echasnovski",
"repo": "mini.statusline",
"rev": "1b0edf76fe2af015f8c989385ff949f1db7aade2",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.statusline",
"type": "github"
}
},
"plugin-mini-surround": {
"flake": false,
"locked": {
"lastModified": 1733662812,
"narHash": "sha256-okWJlG0KOdg1ShvkIIMnPSoOzGd7K84eDcp5kx6eVP8=",
"owner": "echasnovski",
"repo": "mini.surround",
"rev": "aa5e245829dd12d8ff0c96ef11da28681d6049aa",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.surround",
"type": "github"
}
},
"plugin-mini-tabline": {
"flake": false,
"locked": {
"lastModified": 1729176541,
"narHash": "sha256-nucUqSN8w2xBnDp1dFBgRVVvfVoqZMdx7Zj78wdFAP0=",
"owner": "echasnovski",
"repo": "mini.tabline",
"rev": "06ef4ecaeca2e362c7d31113435d86d144b3cbbe",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.tabline",
"type": "github"
}
},
"plugin-mini-test": {
"flake": false,
"locked": {
"lastModified": 1729520957,
"narHash": "sha256-NtsX441k84owAAJywq4G2rMvV6d7UR2K75G8oKam+gs=",
"owner": "echasnovski",
"repo": "mini.test",
"rev": "86a64d5a4bf9d73ebf5875edaae0d878f64f5e48",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.test",
"type": "github"
}
},
"plugin-mini-trailspace": {
"flake": false,
"locked": {
"lastModified": 1725613928,
"narHash": "sha256-JKYvFz8g8kVZvxE44RhwoHXQykghXx7ebW/Mj1ZdJIw=",
"owner": "echasnovski",
"repo": "mini.trailspace",
"rev": "3a328e62559c33014e422fb9ae97afc4208208b1",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.trailspace",
"type": "github"
}
},
"plugin-mini-visits": {
"flake": false,
"locked": {
"lastModified": 1737036221,
"narHash": "sha256-Q+m1gZ5Obu6Zzo87Djt6VCX76ZjdOiLb0j771jP8uQE=",
"owner": "echasnovski",
"repo": "mini.visits",
"rev": "90f20ba6ab7d3d7cb984fffddd82f5f6c7a6bea7",
"type": "github"
},
"original": {
"owner": "echasnovski",
"repo": "mini.visits",
"type": "github"
}
},
"plugin-minimap-vim": {
"flake": false,
"locked": {
@ -1753,22 +1097,6 @@
"type": "github"
}
},
"plugin-nord": {
"flake": false,
"locked": {
"lastModified": 1737019140,
"narHash": "sha256-ZhDS7Y90DKp+jkUqcoQRf/zHy4DVgSDQXrnl3sBYJXs=",
"owner": "gbprod",
"repo": "nord.nvim",
"rev": "b0f3ed242fd8e5bafa7231367821d46c6c835dd8",
"type": "github"
},
"original": {
"owner": "gbprod",
"repo": "nord.nvim",
"type": "github"
}
},
"plugin-nui-nvim": {
"flake": false,
"locked": {
@ -2361,22 +1689,6 @@
"type": "github"
}
},
"plugin-rainbow-delimiters": {
"flake": false,
"locked": {
"lastModified": 1736686348,
"narHash": "sha256-zWHXYs3XdnoszqOFY3hA2L5mNn1a44OAeKv3lL3EMEw=",
"owner": "HiPhish",
"repo": "rainbow-delimiters.nvim",
"rev": "85b80abaa09cbbc039e3095b2f515b3cf8cadd11",
"type": "github"
},
"original": {
"owner": "HiPhish",
"repo": "rainbow-delimiters.nvim",
"type": "github"
}
},
"plugin-registers": {
"flake": false,
"locked": {
@ -2799,7 +2111,6 @@
"plugin-fidget-nvim": "plugin-fidget-nvim",
"plugin-flutter-tools": "plugin-flutter-tools",
"plugin-friendly-snippets": "plugin-friendly-snippets",
"plugin-fzf-lua": "plugin-fzf-lua",
"plugin-gesture-nvim": "plugin-gesture-nvim",
"plugin-gitsigns-nvim": "plugin-gitsigns-nvim",
"plugin-glow-nvim": "plugin-glow-nvim",
@ -2821,46 +2132,6 @@
"plugin-lz-n": "plugin-lz-n",
"plugin-lzn-auto-require": "plugin-lzn-auto-require",
"plugin-mind-nvim": "plugin-mind-nvim",
"plugin-mini-ai": "plugin-mini-ai",
"plugin-mini-align": "plugin-mini-align",
"plugin-mini-animate": "plugin-mini-animate",
"plugin-mini-base16": "plugin-mini-base16",
"plugin-mini-basics": "plugin-mini-basics",
"plugin-mini-bracketed": "plugin-mini-bracketed",
"plugin-mini-bufremove": "plugin-mini-bufremove",
"plugin-mini-clue": "plugin-mini-clue",
"plugin-mini-colors": "plugin-mini-colors",
"plugin-mini-comment": "plugin-mini-comment",
"plugin-mini-completion": "plugin-mini-completion",
"plugin-mini-diff": "plugin-mini-diff",
"plugin-mini-doc": "plugin-mini-doc",
"plugin-mini-extra": "plugin-mini-extra",
"plugin-mini-files": "plugin-mini-files",
"plugin-mini-fuzzy": "plugin-mini-fuzzy",
"plugin-mini-git": "plugin-mini-git",
"plugin-mini-hipatterns": "plugin-mini-hipatterns",
"plugin-mini-hues": "plugin-mini-hues",
"plugin-mini-icons": "plugin-mini-icons",
"plugin-mini-indentscope": "plugin-mini-indentscope",
"plugin-mini-jump": "plugin-mini-jump",
"plugin-mini-jump2d": "plugin-mini-jump2d",
"plugin-mini-map": "plugin-mini-map",
"plugin-mini-misc": "plugin-mini-misc",
"plugin-mini-move": "plugin-mini-move",
"plugin-mini-notify": "plugin-mini-notify",
"plugin-mini-operators": "plugin-mini-operators",
"plugin-mini-pairs": "plugin-mini-pairs",
"plugin-mini-pick": "plugin-mini-pick",
"plugin-mini-sessions": "plugin-mini-sessions",
"plugin-mini-snippets": "plugin-mini-snippets",
"plugin-mini-splitjoin": "plugin-mini-splitjoin",
"plugin-mini-starter": "plugin-mini-starter",
"plugin-mini-statusline": "plugin-mini-statusline",
"plugin-mini-surround": "plugin-mini-surround",
"plugin-mini-tabline": "plugin-mini-tabline",
"plugin-mini-test": "plugin-mini-test",
"plugin-mini-trailspace": "plugin-mini-trailspace",
"plugin-mini-visits": "plugin-mini-visits",
"plugin-minimap-vim": "plugin-minimap-vim",
"plugin-modes-nvim": "plugin-modes-nvim",
"plugin-neo-tree-nvim": "plugin-neo-tree-nvim",
@ -2871,7 +2142,6 @@
"plugin-new-file-template-nvim": "plugin-new-file-template-nvim",
"plugin-noice-nvim": "plugin-noice-nvim",
"plugin-none-ls": "plugin-none-ls",
"plugin-nord": "plugin-nord",
"plugin-nui-nvim": "plugin-nui-nvim",
"plugin-nvim-autopairs": "plugin-nvim-autopairs",
"plugin-nvim-bufferline-lua": "plugin-nvim-bufferline-lua",
@ -2909,7 +2179,6 @@
"plugin-precognition-nvim": "plugin-precognition-nvim",
"plugin-project-nvim": "plugin-project-nvim",
"plugin-promise-async": "plugin-promise-async",
"plugin-rainbow-delimiters": "plugin-rainbow-delimiters",
"plugin-registers": "plugin-registers",
"plugin-render-markdown-nvim": "plugin-render-markdown-nvim",
"plugin-rose-pine": "plugin-rose-pine",

220
flake.nix
View file

@ -5,7 +5,7 @@
self,
...
} @ inputs: let
# call the extended library with `inputs`
# call the extedended library with `inputs`
# inputs is used to get the original standard library, and to pass inputs to the plugin autodiscovery function
lib = import ./lib/stdlib-extended.nix inputs;
in
@ -236,17 +236,12 @@
flake = false;
};
# Pickers
# Telescope
plugin-telescope = {
url = "github:nvim-telescope/telescope.nvim";
flake = false;
};
plugin-fzf-lua = {
url = "github:ibhagwan/fzf-lua";
flake = false;
};
# Runners
plugin-run-nvim = {
url = "github:diniamo/run.nvim";
@ -424,11 +419,6 @@
flake = false;
};
plugin-nord = {
url = "github:gbprod/nord.nvim";
flake = false;
};
# Rust crates
plugin-crates-nvim = {
url = "github:Saecki/crates.nvim";
@ -502,11 +492,6 @@
flake = false;
};
plugin-rainbow-delimiters = {
url = "github:HiPhish/rainbow-delimiters.nvim";
flake = false;
};
# Minimap
plugin-minimap-vim = {
url = "github:wfxr/minimap.vim";
@ -759,206 +744,5 @@
url = "github:stevearc/aerial.nvim";
flake = false;
};
# Mini.nvim
plugin-mini-ai = {
url = "github:echasnovski/mini.ai";
flake = false;
};
plugin-mini-align = {
url = "github:echasnovski/mini.align";
flake = false;
};
plugin-mini-animate = {
url = "github:echasnovski/mini.animate";
flake = false;
};
plugin-mini-base16 = {
url = "github:echasnovski/mini.base16";
flake = false;
};
plugin-mini-basics = {
url = "github:echasnovski/mini.basics";
flake = false;
};
plugin-mini-bracketed = {
url = "github:echasnovski/mini.bracketed";
flake = false;
};
plugin-mini-bufremove = {
url = "github:echasnovski/mini.bufremove";
flake = false;
};
plugin-mini-clue = {
url = "github:echasnovski/mini.clue";
flake = false;
};
plugin-mini-colors = {
url = "github:echasnovski/mini.colors";
flake = false;
};
plugin-mini-comment = {
url = "github:echasnovski/mini.comment";
flake = false;
};
plugin-mini-completion = {
url = "github:echasnovski/mini.completion";
flake = false;
};
plugin-mini-diff = {
url = "github:echasnovski/mini.diff";
flake = false;
};
plugin-mini-doc = {
url = "github:echasnovski/mini.doc";
flake = false;
};
plugin-mini-extra = {
url = "github:echasnovski/mini.extra";
flake = false;
};
plugin-mini-files = {
url = "github:echasnovski/mini.files";
flake = false;
};
plugin-mini-fuzzy = {
url = "github:echasnovski/mini.fuzzy";
flake = false;
};
plugin-mini-git = {
url = "github:echasnovski/mini-git";
flake = false;
};
plugin-mini-hipatterns = {
url = "github:echasnovski/mini.hipatterns";
flake = false;
};
plugin-mini-hues = {
url = "github:echasnovski/mini.hues";
flake = false;
};
plugin-mini-icons = {
url = "github:echasnovski/mini.icons";
flake = false;
};
plugin-mini-indentscope = {
url = "github:echasnovski/mini.indentscope";
flake = false;
};
plugin-mini-jump = {
url = "github:echasnovski/mini.jump";
flake = false;
};
plugin-mini-jump2d = {
url = "github:echasnovski/mini.jump2d";
flake = false;
};
plugin-mini-map = {
url = "github:echasnovski/mini.map";
flake = false;
};
plugin-mini-misc = {
url = "github:echasnovski/mini.misc";
flake = false;
};
plugin-mini-move = {
url = "github:echasnovski/mini.move";
flake = false;
};
plugin-mini-notify = {
url = "github:echasnovski/mini.notify";
flake = false;
};
plugin-mini-operators = {
url = "github:echasnovski/mini.operators";
flake = false;
};
plugin-mini-pairs = {
url = "github:echasnovski/mini.pairs";
flake = false;
};
plugin-mini-pick = {
url = "github:echasnovski/mini.pick";
flake = false;
};
plugin-mini-sessions = {
url = "github:echasnovski/mini.sessions";
flake = false;
};
plugin-mini-snippets = {
url = "github:echasnovski/mini.snippets";
flake = false;
};
plugin-mini-splitjoin = {
url = "github:echasnovski/mini.splitjoin";
flake = false;
};
plugin-mini-starter = {
url = "github:echasnovski/mini.starter";
flake = false;
};
plugin-mini-statusline = {
url = "github:echasnovski/mini.statusline";
flake = false;
};
plugin-mini-surround = {
url = "github:echasnovski/mini.surround";
flake = false;
};
plugin-mini-tabline = {
url = "github:echasnovski/mini.tabline";
flake = false;
};
plugin-mini-test = {
url = "github:echasnovski/mini.test";
flake = false;
};
plugin-mini-trailspace = {
url = "github:echasnovski/mini.trailspace";
flake = false;
};
plugin-mini-visits = {
url = "github:echasnovski/mini.visits";
flake = false;
};
};
}

View file

@ -27,7 +27,6 @@
"git"
"languages"
"lsp"
"mini"
"minimap"
"notes"
"projects"

View file

@ -55,14 +55,8 @@ in {
preventJunkFiles = mkOption {
type = bool;
default = true;
example = false;
description = ''
Prevent swapfile and backupfile from being created.
`false` is the default Neovim behaviour. If you wish to create
backup and swapfiles, set this option to `false`.
'';
default = false;
description = "Prevent swapfile and backupfile from being created";
};
bell = mkOption {

View file

@ -2,7 +2,6 @@
imports = [
./basic.nix
./debug.nix
./highlight.nix
./spellcheck.nix
];
}

View file

@ -1,119 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkOption;
inherit (lib.types) nullOr attrsOf listOf submodule bool ints str enum;
inherit (lib.strings) hasPrefix concatLines;
inherit (lib.attrsets) mapAttrsToList;
inherit (lib.nvim.dag) entryBetween;
inherit (lib.nvim.lua) toLuaObject;
inherit (lib.nvim.types) hexColor;
mkColorOption = target:
mkOption {
type = nullOr hexColor;
default = null;
example = "#ebdbb2";
description = ''
The ${target} color to use. Written as color name or hex "#RRGGBB".
'';
};
mkBoolOption = name:
mkOption {
type = nullOr bool;
default = null;
example = false;
description = "Whether to enable ${name}";
};
cfg = config.vim.highlight;
in {
options.vim.highlight = mkOption {
type = attrsOf (submodule {
# See :h nvim_set_hl
options = {
bg = mkColorOption "background";
fg = mkColorOption "foreground";
sp = mkColorOption "special";
blend = mkOption {
type = nullOr (ints.between 0 100);
default = null;
description = "Blend as an integer between 0 and 100";
};
bold = mkBoolOption "bold";
standout = mkBoolOption "standout";
underline = mkBoolOption "underline";
undercurl = mkBoolOption "undercurl";
underdouble = mkBoolOption "underdouble";
underdotted = mkBoolOption "underdotted";
underdashed = mkBoolOption "underdashed";
strikethrough = mkBoolOption "strikethrough";
italic = mkBoolOption "italic";
reverse = mkBoolOption "reverse";
nocombine = mkBoolOption "nocombine";
link = mkOption {
type = nullOr str;
default = null;
description = "The name of another highlight group to link to";
};
default = mkOption {
type = nullOr bool;
default = null;
description = "Don't override existing definition";
};
ctermfg = mkOption {
type = nullOr str;
default = null;
description = "The cterm foreground color to use";
};
ctermbg = mkOption {
type = nullOr str;
default = null;
description = "The cterm background color to use";
};
cterm = mkOption {
type = nullOr (listOf (enum [
"bold"
"underline"
"undercurl"
"underdouble"
"underdotted"
"underdashed"
"strikethrough"
"reverse"
"inverse"
"italic"
"standout"
"altfont"
"nocombine"
"NONE"
]));
default = null;
description = "The cterm arguments to use. See ':h highlight-args'";
};
force = mkBoolOption "force update";
};
});
default = {};
example = {
SignColumn = {
bg = "#282828";
};
};
description = "Custom highlights to apply";
};
config = {
vim.luaConfigRC.highlight = let
highlights =
mapAttrsToList (
name: value: ''vim.api.nvim_set_hl(0, ${toLuaObject name}, ${toLuaObject value})''
)
cfg;
in
entryBetween ["lazyConfigs" "pluginConfigs" "extraPluginConfigs"] ["theme"] (concatLines highlights);
};
}

View file

@ -187,6 +187,17 @@ in {
'';
}
];
vim.pluginRC.nix = ''
vim.api.nvim_create_autocmd("FileType", {
pattern = "nix",
callback = function(opts)
local bo = vim.bo[opts.buf]
bo.tabstop = 2
bo.shiftwidth = 2
bo.softtabstop = 2
end
})
'';
}
(mkIf cfg.treesitter.enable {

View file

@ -106,24 +106,6 @@
)
'';
};
ruff = {
package = pkgs.writeShellApplication {
name = "ruff";
runtimeInputs = [pkgs.ruff];
text = ''
ruff format -
'';
};
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.ruff.with({
command = "${cfg.format.package}/bin/ruff",
})
)
'';
};
};
defaultDebugger = "debugpy";

View file

@ -8,12 +8,10 @@
inherit (lib.options) mkEnableOption mkOption;
inherit (lib.modules) mkIf mkMerge mkDefault;
inherit (lib.lists) isList;
inherit (lib.types) bool either listOf package str enum;
inherit (lib.types) either listOf package str enum;
inherit (lib.nvim.lua) expToLua;
inherit (lib.nvim.types) mkGrammarOption;
cfg = config.vim.languages.zig;
defaultServer = "zls";
servers = {
zls = {
@ -33,35 +31,7 @@
};
};
# TODO: dap.adapter.lldb is duplicated when enabling the
# vim.languages.clang.dap module. This does not cause
# breakage... but could be cleaner.
defaultDebugger = "lldb-vscode";
debuggers = {
lldb-vscode = {
package = pkgs.lldb;
dapConfig = ''
dap.adapters.lldb = {
type = 'executable',
command = '${cfg.dap.package}/bin/lldb-dap',
name = 'lldb'
}
dap.configurations.zig = {
{
name = 'Launch',
type = 'lldb',
request = 'launch',
program = function()
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
end,
cwd = "''${workspaceFolder}",
stopOnEntry = false,
args = {},
},
}
'';
};
};
cfg = config.vim.languages.zig;
in {
options.vim.languages.zig = {
enable = mkEnableOption "Zig language support";
@ -86,26 +56,6 @@ in {
default = pkgs.zls;
};
};
dap = {
enable = mkOption {
type = bool;
default = config.vim.languages.enableDAP;
description = "Enable Zig Debug Adapter";
};
debugger = mkOption {
type = enum (attrNames debuggers);
default = defaultDebugger;
description = "Zig debugger to use";
};
package = mkOption {
type = package;
default = debuggers.${cfg.dap.debugger}.package;
description = "Zig debugger package.";
};
};
};
config = mkIf cfg.enable (mkMerge [
@ -127,12 +77,5 @@ in {
globals.zig_fmt_autosave = mkDefault 0;
};
})
(mkIf cfg.dap.enable {
vim = {
debugger.nvim-dap.enable = true;
debugger.nvim-dap.sources.zig-debugger = debuggers.${cfg.dap.debugger}.dapConfig;
};
})
]);
}

View file

@ -4,7 +4,6 @@
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.strings) optionalString;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
@ -13,29 +12,13 @@ in {
config = mkIf (cfg.enable && cfg.lightbulb.enable) {
vim = {
startPlugins = ["nvim-lightbulb"];
pluginRC.lightbulb = entryAnywhere ''
local nvim_lightbulb = require("nvim-lightbulb")
nvim_lightbulb.setup(${toLuaObject cfg.lightbulb.setupOpts})
${optionalString cfg.lightbulb.autocmd.enable ''
vim.api.nvim_create_autocmd(${toLuaObject cfg.lightbulb.autocmd.events}, {
pattern = ${toLuaObject cfg.lightbulb.autocmd.pattern},
callback = function()
nvim_lightbulb.update_lightbulb()
end,
})
''}
vim.api.nvim_command('autocmd CursorHold,CursorHoldI * lua require\'nvim-lightbulb\'.update_lightbulb()')
-- Enable trouble diagnostics viewer
require'nvim-lightbulb'.setup(${toLuaObject cfg.lightbulb.setupOpts})
'';
};
warnings = [
# This could have been an assertion, but the chances of collision is very low and asserting here
# might be too dramatic. Let's only warn the user, *in case* this occurs and is not intended. No
# error will be thrown if 'lightbulb.setupOpts.autocmd.enable' has not been set by the user.
(mkIf (cfg.lightbulb.autocmd.enable -> (cfg.lightbulb.setupOpts.autocmd.enabled or false)) ''
Both 'vim.lsp.lightbulb.autocmd.enable' and 'vim.lsp.lightbulb.setupOpts.autocmd.enable' are set
simultaneously. This might have performance implications due to frequent updates. Please set only
one option to handle nvim-lightbulb autocmd.
'')
];
};
}

View file

@ -1,29 +1,11 @@
{lib, ...}: let
inherit (lib.options) mkOption mkEnableOption;
inherit (lib.types) listOf str either;
inherit (lib.nvim.types) mkPluginSetupOption luaInline;
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.lsp = {
lightbulb = {
enable = mkEnableOption "Lightbulb for code actions. Requires an emoji font";
setupOpts = mkPluginSetupOption "nvim-lightbulb" {};
autocmd = {
enable = mkEnableOption "updating lightbulb glyph automatically" // {default = true;};
events = mkOption {
type = listOf str;
default = ["CursorHold" "CursorHoldI"];
description = "Events on which to update nvim-lightbulb glyphs";
};
pattern = mkOption {
type = either str luaInline;
default = "*";
description = ''
File patterns or buffer names to match, determining which files or buffers trigger
glyph updates.
'';
};
};
};
};
}

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.ai = {
enable = mkEnableOption "mini.ai";
setupOpts = mkPluginSetupOption "mini.ai" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.ai;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-ai"];
pluginRC.mini-ai = entryAnywhere ''
require("mini.ai").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.align = {
enable = mkEnableOption "mini.align";
setupOpts = mkPluginSetupOption "mini.align" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.align;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-align"];
pluginRC.mini-align = entryAnywhere ''
require("mini.align").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.animate = {
enable = mkEnableOption "mini.animate";
setupOpts = mkPluginSetupOption "mini.animate" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.animate;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-animate"];
pluginRC.mini-animate = entryAnywhere ''
require("mini.animate").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.basics = {
enable = mkEnableOption "mini.basics";
setupOpts = mkPluginSetupOption "mini.basics" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.basics;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-basics"];
pluginRC.mini-basics = entryAnywhere ''
require("mini.basics").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.bracketed = {
enable = mkEnableOption "mini.bracketed";
setupOpts = mkPluginSetupOption "mini.bracketed" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.bracketed;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-bracketed"];
pluginRC.mini-bracketed = entryAnywhere ''
require("mini.bracketed").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.bufremove = {
enable = mkEnableOption "mini.bufremove";
setupOpts = mkPluginSetupOption "mini.bufremove" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.bufremove;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-bufremove"];
pluginRC.mini-bufremove = entryAnywhere ''
require("mini.bufremove").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.clue = {
enable = mkEnableOption "mini.clue";
setupOpts = mkPluginSetupOption "mini.clue" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.clue;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-clue"];
pluginRC.mini-clue = entryAnywhere ''
require("mini.clue").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,11 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
in {
options.vim.mini.colors = {
enable = mkEnableOption "mini.colors";
};
}

View file

@ -1,18 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
cfg = config.vim.mini.colors;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-colors"];
pluginRC.mini-colors = entryAnywhere ''
require("mini.colors").setup()
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.comment = {
enable = mkEnableOption "mini.comment";
setupOpts = mkPluginSetupOption "mini.comment" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.comment;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-comment"];
pluginRC.mini-comment = entryAnywhere ''
require("mini.comment").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.completion = {
enable = mkEnableOption "mini.completion";
setupOpts = mkPluginSetupOption "mini.completion" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.completion;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-completion"];
pluginRC.mini-completion = entryAnywhere ''
require("mini.completion").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,44 +0,0 @@
{
imports = [
./ai
./align
./animate
# ./base16 # NOTE: configured in theme/
./basics
./bracketed
./bufremove
./clue
./colors
./comment
./completion
./diff
./doc
./extra
./files
./fuzzy
./git
./hipatterns
./hues
./icons
./indentscope
./jump
./jump2d
./map
./misc
./move
./notify
./operators
./pairs
./pick
./sessions
./snippets
./splitjoin
./starter
./statusline
./surround
./tabline
./test
./trailspace
./visits
];
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.diff;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-diff"];
pluginRC.mini-diff = entryAnywhere ''
require("mini.diff").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.diff = {
enable = mkEnableOption "mini.diff";
setupOpts = mkPluginSetupOption "mini.diff" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.doc;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-doc"];
pluginRC.mini-doc = entryAnywhere ''
require("mini.doc").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.doc = {
enable = mkEnableOption "mini.doc";
setupOpts = mkPluginSetupOption "mini.doc" {};
};
}

View file

@ -1,18 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
cfg = config.vim.mini.extra;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-extra"];
pluginRC.mini-extra = entryAnywhere ''
require("mini.extra").setup()
'';
};
}

View file

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

View file

@ -1,11 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
in {
options.vim.mini.extra = {
enable = mkEnableOption "mini.extra";
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.files;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-files"];
pluginRC.mini-files = entryAnywhere ''
require("mini.files").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.files = {
enable = mkEnableOption "mini.files";
setupOpts = mkPluginSetupOption "mini.files" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.fuzzy;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-fuzzy"];
pluginRC.mini-fuzzy = entryAnywhere ''
require("mini.fuzzy").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.fuzzy = {
enable = mkEnableOption "mini.fuzzy";
setupOpts = mkPluginSetupOption "mini.fuzzy" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.git;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-git"];
pluginRC.mini-git = entryAnywhere ''
require("mini.git").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.git = {
enable = mkEnableOption "mini.git";
setupOpts = mkPluginSetupOption "mini.git" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.hipatterns;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-hipatterns"];
pluginRC.mini-hipatterns = entryAnywhere ''
require("mini.hipatterns").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.hipatterns = {
enable = mkEnableOption "mini.hipatterns";
setupOpts = mkPluginSetupOption "mini.hipatterns" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.hues;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-hues"];
pluginRC.mini-hues = entryAnywhere ''
require("mini.hues").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,25 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption mkOption;
inherit (lib.strings) hasPrefix;
inherit (lib.nvim.types) mkPluginSetupOption;
inherit (lib.nvim.types) hexColor;
in {
options.vim.mini.hues = {
enable = mkEnableOption "mini.hues";
setupOpts = mkPluginSetupOption "mini.hues" {
background = mkOption {
description = "The hex color for the background color of the color scheme, prefixed with #";
type = hexColor;
};
foreground = mkOption {
description = "The hex color for the foreground color of the color scheme, prefixed with #";
type = hexColor;
};
};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.icons;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-icons"];
pluginRC.mini-icons = entryAnywhere ''
require("mini.icons").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.icons = {
enable = mkEnableOption "mini.icons";
setupOpts = mkPluginSetupOption "mini.icons" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.indentscope;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-indentscope"];
pluginRC.mini-indentscope = entryAnywhere ''
require("mini.indentscope").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.indentscope = {
enable = mkEnableOption "mini.indentscope";
setupOpts = mkPluginSetupOption "mini.indentscope" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.jump;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-jump"];
pluginRC.mini-jump = entryAnywhere ''
require("mini.jump").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.jump = {
enable = mkEnableOption "mini.jump";
setupOpts = mkPluginSetupOption "mini.jump" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.jump2d;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-jump2d"];
pluginRC.mini-jump2d = entryAnywhere ''
require("mini.jump2d").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.jump2d = {
enable = mkEnableOption "mini.jump2d";
setupOpts = mkPluginSetupOption "mini.jump2d" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.map;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-map"];
pluginRC.mini-map = entryAnywhere ''
require("mini.map").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.map = {
enable = mkEnableOption "mini.map";
setupOpts = mkPluginSetupOption "mini.map" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.misc;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-misc"];
pluginRC.mini-misc = entryAnywhere ''
require("mini.misc").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.misc = {
enable = mkEnableOption "mini.misc";
setupOpts = mkPluginSetupOption "mini.misc" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.move;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-move"];
pluginRC.mini-move = entryAnywhere ''
require("mini.move").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.move = {
enable = mkEnableOption "mini.move";
setupOpts = mkPluginSetupOption "mini.move" {};
};
}

View file

@ -1,20 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf mkAssert;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.notify;
in {
vim = mkIf cfg.enable (mkAssert (!config.vim.notify.nvim-notify.enable) "Mini.notify is incompatible with nvim-notify!" {
startPlugins = ["mini-notify"];
pluginRC.mini-notify = entryAnywhere ''
require("mini.notify").setup(${toLuaObject cfg.setupOpts})
vim.notify = MiniNotify.make_notify(${toLuaObject cfg.notifyOpts})
'';
});
}

View file

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

View file

@ -1,41 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption mkOption;
inherit (lib.types) int str;
inherit (lib.nvim.types) mkPluginSetupOption borderType;
mkNotifyOpt = name: duration: hl_group: {
duration = mkOption {
type = int;
default = duration;
description = "The duration of the ${name} notification";
};
hl_group = mkOption {
type = str;
default = hl_group;
description = "The highlight group of the ${name} notification";
};
};
in {
options.vim.mini.notify = {
enable = mkEnableOption "mini.notify";
setupOpts = mkPluginSetupOption "mini.notify" {
window.config.border = mkOption {
type = borderType;
default = config.vim.ui.borders.globalStyle;
description = "The border type for the mini.notify-notifications";
};
};
notifyOpts = mkPluginSetupOption "mini.notify notifications" {
ERROR = mkNotifyOpt "error" 5000 "DiagnosticError";
WARN = mkNotifyOpt "warn" 5000 "DiagnosticWarn";
INFO = mkNotifyOpt "info" 5000 "DiagnosticInfo";
DEBUG = mkNotifyOpt "debug" 0 "DiagnosticHint";
TRACE = mkNotifyOpt "trace" 0 "DiagnosticOk";
OFF = mkNotifyOpt "off" 0 "MiniNotifyNormal";
};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.operators;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-operators"];
pluginRC.mini-operators = entryAnywhere ''
require("mini.operators").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

View file

@ -1,13 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.mini.operators = {
enable = mkEnableOption "mini.operators";
setupOpts = mkPluginSetupOption "mini.operators" {};
};
}

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.mini.pairs;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-pairs"];
pluginRC.mini-pairs = entryAnywhere ''
require("mini.pairs").setup(${toLuaObject cfg.setupOpts})
'';
};
}

View file

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

Some files were not shown because too many files have changed in this diff Show more