Merge branch 'main' into telescope-ext

This commit is contained in:
raf 2025-01-25 16:57:39 +03:00 committed by GitHub
commit 4b22740c9a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
142 changed files with 2956 additions and 34 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

@ -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.

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
];
}

View file

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

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.pick;
in {
vim = mkIf cfg.enable {
startPlugins = ["mini-pick"];
pluginRC.mini-pick = entryAnywhere ''
require("mini.pick").setup(${toLuaObject cfg.setupOpts})
'';
};
}

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