Compare commits

..

85 commits

Author SHA1 Message Date
raf
3e4503f9c1
Merge branch 'main' into telescope-ext
Some checks failed
Check for typos in the source tree / check-typos (push) Has been cancelled
2025-01-25 17:38:49 +03:00
raf
4242640c98
docs: improve manpages; mention helpful utilities (#584)
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
Validate flake & check documentation / Validate Flake Documentation (docs) (push) Has been cancelled
Validate flake & check documentation / Validate Flake Documentation (docs-html) (push) Has been cancelled
Validate flake & check documentation / Validate Flake Documentation (docs-json) (push) Has been cancelled
Validate flake & check documentation / Validate Flake Documentation (docs-manpages) (push) Has been cancelled
Validate flake & check documentation / Validate hyperlinks in documentation sources (push) Has been cancelled
Validate flake & check formatting / Validate Flake (push) Has been cancelled
Validate flake & check formatting / Formatting via Alejandra (push) Has been cancelled
Build and deploy documentation / Check latest commit (push) Has been cancelled
Check for typos in the source tree / check-typos (push) Has been cancelled
Build and deploy documentation / publish (push) Has been cancelled
2025-01-25 17:25:46 +03:00
a5b7b17947
docs: improve manpages; mention helpful utilities 2025-01-25 17:21:08 +03:00
raf
4b22740c9a
Merge branch 'main' into telescope-ext 2025-01-25 16:57:39 +03:00
raf
3a6d2f7294
Merge pull request #572 from NotAShelf/lightbulb-cleanup
lsp/lightbulb: cleanup; modularize autocommand behaviour
2025-01-25 16:57:14 +03:00
9a93409606
lsp/lightbulb: cleanup; modularize autocommand behaviour
Some checks failed
Check for typos in the source tree / check-typos (push) Has been cancelled
2025-01-25 16:51:07 +03:00
ARCIII
547cbd28b6
languages/zig: add dap support (#581)
* languages/zig: Added dap support

Implemented DAP support for zig. Included comment regarding redundant
`dap.adapters.lldb` code when both clang and zig dap modules are
enabled.

* languages/zig: Added dap support cleanup

Cleaned up code from the zig dap implementation for consistency.
2025-01-25 13:17:48 +00:00
raf
8df64accab
Merge pull request #571 from LilleAila/highlight-options
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
Validate flake & check documentation / Validate Flake Documentation (docs) (push) Has been cancelled
Validate flake & check documentation / Validate Flake Documentation (docs-html) (push) Has been cancelled
Validate flake & check documentation / Validate Flake Documentation (docs-json) (push) Has been cancelled
Validate flake & check documentation / Validate Flake Documentation (docs-manpages) (push) Has been cancelled
Validate flake & check documentation / Validate hyperlinks in documentation sources (push) Has been cancelled
Validate flake & check formatting / Validate Flake (push) Has been cancelled
Validate flake & check formatting / Formatting via Alejandra (push) Has been cancelled
Build and deploy documentation / Check latest commit (push) Has been cancelled
Check for typos in the source tree / check-typos (push) Has been cancelled
Build and deploy documentation / publish (push) Has been cancelled
highlight: init
2025-01-23 18:35:45 +03:00
LilleAila
e3d99f2969
Merge branch 'main' into highlight-options 2025-01-23 16:26:47 +01:00
4b6021073c
flake: bump nixpkgs 2025-01-23 18:19:56 +03:00
LilleAila
f58f41629f
highlight: :h reference in single quotes 2025-01-20 14:28:36 +01:00
LilleAila
28bbe89fbc
highlight: example without '' 2025-01-20 14:16:45 +01:00
LilleAila
653e5d6a17
highlight: implement suggestions 2025-01-19 19:38:12 +01:00
LilleAila
5e3a0dcdc3
highlight: cterm as enum 2025-01-19 18:11:12 +01:00
LilleAila
fcb6f82892
highlight: init 2025-01-19 18:03:21 +01:00
LilleAila
dfd4dc8494
visuals/rainbow-delimiters: init 2025-01-19 12:52:45 +01:00
db8a586b7e
neovim/init: enable preventJunkFiles by default
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
Validate flake & check documentation / Validate Flake Documentation (docs) (push) Waiting to run
Validate flake & check documentation / Validate Flake Documentation (docs-html) (push) Waiting to run
Validate flake & check documentation / Validate Flake Documentation (docs-json) (push) Waiting to run
Validate flake & check documentation / Validate Flake Documentation (docs-manpages) (push) Waiting to run
Validate flake & check documentation / Validate hyperlinks in documentation sources (push) Waiting to run
Validate flake & check formatting / Validate Flake (push) Waiting to run
Validate flake & check formatting / Formatting via Alejandra (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
Check for typos in the source tree / check-typos (push) Waiting to run
2025-01-19 13:21:51 +03:00
abd9176a2a
ci/docs-preview: use pull_request_target
Run code with access to the tokens on the target branch, *after* approval.
2025-01-19 13:10:07 +03:00
raf
779af80bf2
Merge pull request #561 from LilleAila/add-mini-nvim
mini-nvim: init
2025-01-19 13:00:15 +03:00
raf
9e38d00f1f
Merge branch 'main' into add-mini-nvim 2025-01-19 12:39:20 +03:00
LilleAila
e331f009d5
mini/hues: more descriptive color options 2025-01-19 10:19:34 +01:00
LilleAila
ae81ab2c5f
mini/notify: set vim.notify, assert nvim-notify 2025-01-19 10:16:25 +01:00
raf
91cb482873
Merge pull request #565 from LilleAila/add-fzf-lua
utility/fzf-lua: init
2025-01-19 11:58:01 +03:00
LilleAila
f338fd3411
utility/fzf-lua: fix typo in profile description 2025-01-18 23:33:46 +01:00
LilleAila
ba55a1b54a
utility/fzf-lua: add profile option, fix name 2025-01-18 23:33:45 +01:00
LilleAila
775963dd9d
utility/fzf-lua: add border option description 2025-01-18 23:33:45 +01:00
LilleAila
ce7017cf5b
utility/fzf-lua: add changelog 2025-01-18 23:33:45 +01:00
LilleAila
f279e3a585
utility/fzf-lua: init 2025-01-18 23:33:37 +01:00
raf
22a1aef09e
Merge branch 'main' into add-mini-nvim 2025-01-18 21:18:15 +03:00
raf
e51dce002e
Merge pull request #567 from NotAShelf/no-buffer-specific-opts
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
Validate flake & check documentation / Validate Flake Documentation (docs) (push) Waiting to run
Validate flake & check documentation / Validate Flake Documentation (docs-html) (push) Waiting to run
Validate flake & check documentation / Validate Flake Documentation (docs-json) (push) Waiting to run
Validate flake & check documentation / Validate Flake Documentation (docs-manpages) (push) Waiting to run
Validate flake & check documentation / Validate hyperlinks in documentation sources (push) Waiting to run
Validate flake & check formatting / Validate Flake (push) Waiting to run
Validate flake & check formatting / Formatting via Alejandra (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
Check for typos in the source tree / check-typos (push) Waiting to run
languages/nix: remove hardcoded indentation options
2025-01-18 21:00:28 +03:00
7d0c56d74c docs: update v0.8 release notes 2025-01-18 18:55:46 +01:00
4200828526 languages/nix: remove hardcoded indentation options 2025-01-18 18:55:46 +01:00
e7649d1ec5
meta: remove stale donation links 2025-01-18 20:45:47 +03:00
raf
ba27d85dee
Merge pull request #563 from tomasguinzburg/feat-theme-nord
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
Validate flake & check documentation / Validate Flake Documentation (docs) (push) Waiting to run
Validate flake & check documentation / Validate Flake Documentation (docs-html) (push) Waiting to run
Validate flake & check documentation / Validate Flake Documentation (docs-json) (push) Waiting to run
Validate flake & check documentation / Validate Flake Documentation (docs-manpages) (push) Waiting to run
Validate flake & check documentation / Validate hyperlinks in documentation sources (push) Waiting to run
Validate flake & check formatting / Validate Flake (push) Waiting to run
Validate flake & check formatting / Formatting via Alejandra (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
Check for typos in the source tree / check-typos (push) Waiting to run
feat: add nord theme
2025-01-17 23:52:48 +03:00
LilleAila
cb1462f1c1
Merge remote-tracking branch 'upstream/main' into add-mini-nvim 2025-01-17 21:39:02 +01:00
LilleAila
5f00d7d0d2
mini/deps: add missing changelog entry 2025-01-17 21:32:36 +01:00
LilleAila
f1f89a5c49
mini/*: remove unused inherits 2025-01-17 21:29:48 +01:00
LilleAila
e8e5594fb9
mini/visits: init 2025-01-17 21:25:28 +01:00
LilleAila
0994337d02
mini/trailspace: init 2025-01-17 21:23:56 +01:00
LilleAila
ae76778186
mini/test: init 2025-01-17 21:22:23 +01:00
LilleAila
400c7b84e3
mini/tabline: init 2025-01-17 21:20:20 +01:00
LilleAila
8809ecd689
mini/surround: init 2025-01-17 21:18:42 +01:00
LilleAila
d1fa88595b
mini/statusline: init 2025-01-17 21:16:11 +01:00
LilleAila
f7abf7577c
mini/starter: init 2025-01-17 21:13:58 +01:00
LilleAila
52bc5f23ee
mini/splitjoin: init 2025-01-17 21:12:03 +01:00
LilleAila
7fc00f75f6
mini/snippets: init 2025-01-17 21:10:12 +01:00
LilleAila
39d8f52f0e
mini/sessions: init 2025-01-17 21:08:34 +01:00
LilleAila
af36e185b5
mini/pick: init 2025-01-17 21:05:49 +01:00
LilleAila
226c25d45d
mini/pairs: init 2025-01-17 21:03:56 +01:00
LilleAila
088083c68a
mini/operators: init 2025-01-17 21:02:20 +01:00
LilleAila
2691dbd351
mini/notify: init 2025-01-17 21:00:20 +01:00
LilleAila
6060ae4182
mini/move: init 2025-01-17 20:57:49 +01:00
LilleAila
9a27dafe67
mini/misc: init 2025-01-17 20:43:25 +01:00
LilleAila
c9d39cb758
mini/map: init 2025-01-17 20:41:08 +01:00
LilleAila
e58472cee7
mini/jump2d: init 2025-01-17 20:39:31 +01:00
LilleAila
36f535c4ef
mini/jump: init 2025-01-17 20:37:22 +01:00
LilleAila
be7d949605
mini/indentscope: init 2025-01-17 20:35:56 +01:00
LilleAila
f31b2e06cb
mini/icons: init 2025-01-17 20:34:02 +01:00
LilleAila
755052cea9
mini/hues: init 2025-01-17 20:32:10 +01:00
LilleAila
fca63ede6c
mini/hipatterns: init 2025-01-17 20:26:09 +01:00
LilleAila
c490536230
mini/git: init 2025-01-17 20:23:40 +01:00
LilleAila
173ea3f43c
mini/fuzzy: init 2025-01-17 20:21:12 +01:00
LilleAila
7472cac221
mini/files: init 2025-01-17 20:19:02 +01:00
LilleAila
3533d5bcbd
mini/extra: init 2025-01-17 20:17:19 +01:00
LilleAila
753eb3e99d
mini/doc: init 2025-01-17 20:14:59 +01:00
LilleAila
4b4423af91
mini/diff: init 2025-01-17 19:32:56 +01:00
LilleAila
887e563076
mini/completion: init 2025-01-17 19:28:07 +01:00
LilleAila
68483183c1
mini/comment: init 2025-01-17 19:25:56 +01:00
LilleAila
86fc7a3764
mini/colors: init 2025-01-17 19:23:03 +01:00
LilleAila
3d47d3f8c3
mini/clue: init 2025-01-17 19:19:20 +01:00
LilleAila
beedffcb5b
mini/bufremove: init 2025-01-17 19:17:05 +01:00
LilleAila
eaae68aea2
mini/bracketed: init 2025-01-17 19:14:30 +01:00
LilleAila
be5ab79342
mini/basics: init 2025-01-17 19:11:47 +01:00
LilleAila
c52e3c0507
mini/base16: init 2025-01-17 19:08:50 +01:00
LilleAila
a1a0ab89b6
mini/animate: init 2025-01-17 19:03:44 +01:00
LilleAila
c8d727f2e9
mini/align: init 2025-01-17 19:00:43 +01:00
LilleAila
8923d3b891
mini/ai: init 2025-01-17 18:57:59 +01:00
tomasguinzburg
ae3340f2d1 feat: add nord theme
added nord theme from github.com/gbprod/nord.nvim
fixed a typo
2025-01-17 18:55:11 +01:00
LilleAila
9c09915170
Revert "collections/mini: init"
This reverts commit 952a3f1ad0.
2025-01-17 17:36:47 +01:00
LilleAila
952a3f1ad0
collections/mini: init 2025-01-16 08:23:19 +01:00
raf
45a6d9b890
Merge pull request #560 from thamenato/feat/python-ruff-format
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
Validate flake & check documentation / Validate Flake Documentation (docs) (push) Has been cancelled
Validate flake & check documentation / Validate Flake Documentation (docs-html) (push) Has been cancelled
Validate flake & check documentation / Validate Flake Documentation (docs-json) (push) Has been cancelled
Validate flake & check documentation / Validate Flake Documentation (docs-manpages) (push) Has been cancelled
Validate flake & check documentation / Validate hyperlinks in documentation sources (push) Has been cancelled
Validate flake & check formatting / Validate Flake (push) Has been cancelled
Validate flake & check formatting / Formatting via Alejandra (push) Has been cancelled
Build and deploy documentation / Check latest commit (push) Has been cancelled
Check for typos in the source tree / check-typos (push) Has been cancelled
Build and deploy documentation / publish (push) Has been cancelled
languages/python: add ruff formatter
2025-01-15 16:11:07 +03:00
Thales Menato
f6d249d076 docs: update changelog 2025-01-15 07:33:27 -05:00
Thales Menato
3f43edd635 fix: run nix fmt 2025-01-15 07:24:04 -05:00
Thales Menato
ecf832681c fix: ruff command
feat: add ruff

ruff
2025-01-14 21:45:36 -05:00
Thales Menato
dcb9b16f81 feat: add ruff to formatters 2025-01-14 21:03:03 -05:00
144 changed files with 2995 additions and 51 deletions

3
.github/FUNDING.yml vendored
View file

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

View file

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

View file

@ -1,13 +1,16 @@
.TH "nvf" "5" "01/01/1980" "nvf"
.TH "nvf" "5" "January 1, 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
.SH "OPTIONS"
.PP
You can use the following options to configure nvf:
.PP
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/

View file

@ -1,5 +1,5 @@
.Dd January 1, 1980
.Dt nvf 1
.Dt NVF 1
.Os nvf
.\" disable hyphenation
.nh
@ -7,27 +7,46 @@
.ad l
.\" enable line breaks after slashes
.cflags 4 /
.Sh NAME
.Nm nvf
.Nd A highly modular, extensible and distro-agnostic Neovim configuration framework for Nix/NixOS.
.
.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
.Sh BUGS
.Pp
Please report any bugs that you might encounter on the
\m[blue]\fBproject issue tracker\fR\m[]\&.
Please report any bugs on the project issue tracker:
.Lk https://github.com/notashelf/nvf/issues
.Sh SEE ALSO
.Pp
\fBnvf\fR(5)
.Fn nvf 5
.Sh AUTHOR
.Pp
\fBnvf contributors\fR
.Fn nvf contributors
.RS 4
Author.
Primary contributors and maintainers of the project.
.RE
.Sh COPYRIGHT
.br
Copyright \(co 2023\(en2024 nvf contributors
.br
.Pp
Copyright (c) 20232025 nvf contributors.

View file

@ -26,6 +26,17 @@
- 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
@ -41,8 +52,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]
@ -52,7 +63,55 @@
- 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 `"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)
[kaktu5](https://github.com/kaktu5):
@ -61,5 +120,18 @@
[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": 1735523292,
"narHash": "sha256-opBsbR/nrGxiiF6XzlVluiHYb6yN/hEwv+lBWTy9xoM=",
"lastModified": 1737370608,
"narHash": "sha256-hFA6SmioeqvGW/XvZa9bxniAeulksCOcj3kokdNT/YE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "6d97d419e5a9b36e6293887a89a078cf85f5a61b",
"rev": "300081d0cc72df578b02d914df941b8ec62240e6",
"type": "github"
},
"original": {
@ -599,6 +599,22 @@
"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": {
@ -936,6 +952,646 @@
"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": {
@ -1097,6 +1753,22 @@
"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": {
@ -1689,6 +2361,22 @@
"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": {
@ -2111,6 +2799,7 @@
"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",
@ -2132,6 +2821,46 @@
"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",
@ -2142,6 +2871,7 @@
"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",
@ -2179,6 +2909,7 @@
"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 extedended library with `inputs`
# call the extended 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,12 +236,17 @@
flake = false;
};
# Telescope
# Pickers
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";
@ -419,6 +424,11 @@
flake = false;
};
plugin-nord = {
url = "github:gbprod/nord.nvim";
flake = false;
};
# Rust crates
plugin-crates-nvim = {
url = "github:Saecki/crates.nvim";
@ -492,6 +502,11 @@
flake = false;
};
plugin-rainbow-delimiters = {
url = "github:HiPhish/rainbow-delimiters.nvim";
flake = false;
};
# Minimap
plugin-minimap-vim = {
url = "github:wfxr/minimap.vim";
@ -744,5 +759,206 @@
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,6 +27,7 @@
"git"
"languages"
"lsp"
"mini"
"minimap"
"notes"
"projects"

View file

@ -55,8 +55,14 @@ in {
preventJunkFiles = mkOption {
type = bool;
default = false;
description = "Prevent swapfile and backupfile from being created";
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`.
'';
};
bell = mkOption {

View file

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

View file

@ -0,0 +1,119 @@
{
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,17 +187,6 @@ 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,6 +106,24 @@
)
'';
};
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,10 +8,12 @@
inherit (lib.options) mkEnableOption mkOption;
inherit (lib.modules) mkIf mkMerge mkDefault;
inherit (lib.lists) isList;
inherit (lib.types) either listOf package str enum;
inherit (lib.types) bool either listOf package str enum;
inherit (lib.nvim.lua) expToLua;
inherit (lib.nvim.types) mkGrammarOption;
cfg = config.vim.languages.zig;
defaultServer = "zls";
servers = {
zls = {
@ -31,7 +33,35 @@
};
};
cfg = config.vim.languages.zig;
# 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 = {},
},
}
'';
};
};
in {
options.vim.languages.zig = {
enable = mkEnableOption "Zig language support";
@ -56,6 +86,26 @@ 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 [
@ -77,5 +127,12 @@ 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,6 +4,7 @@
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.strings) optionalString;
inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
@ -12,13 +13,29 @@ in {
config = mkIf (cfg.enable && cfg.lightbulb.enable) {
vim = {
startPlugins = ["nvim-lightbulb"];
pluginRC.lightbulb = entryAnywhere ''
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})
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,
})
''}
'';
};
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,11 +1,29 @@
{lib, ...}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
inherit (lib.options) mkOption mkEnableOption;
inherit (lib.types) listOf str either;
inherit (lib.nvim.types) mkPluginSetupOption luaInline;
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

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

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

View file

@ -0,0 +1,18 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,44 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,18 @@
{
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

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

View file

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

View file

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,25 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,20 @@
{
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

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

View file

@ -0,0 +1,41 @@
{
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

@ -0,0 +1,19 @@
{
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

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

View file

@ -0,0 +1,13 @@
{
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

@ -0,0 +1,19 @@
{
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

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

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