diff --git a/.github/workflows/docs-preview.yml b/.github/workflows/docs-preview.yml index c38be9da..e6d2e662 100644 --- a/.github/workflows/docs-preview.yml +++ b/.github/workflows/docs-preview.yml @@ -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" diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index e854eebc..a164d776 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -59,6 +59,50 @@ - Add `vim.snippets.luasnip.setupOpts`, which was previously missing. - Add `"prettierd"` as a formatter option in `vim.languages.markdown.format.type`. +- Add the following plugins from [mini.nvim](https://github.com/echasnovski/mini.nvim) + - `mini.ai` + - `mini.align` + - `mini.animate` + - `mini.base16` + - `mini.basics` + - `mini.bracketed` + - `mini.bufremove` + - `mini.clue` + - `mini.colors` + - `mini.comment` + - `mini.completion` + - `mini.deps` + - `mini.diff` + - `mini.doc` + - `mini.extra` + - `mini.files` + - `mini.fuzzy` + - `mini.git` + - `mini.hipatterns` + - `mini.hues` + - `mini.icons` + - `mini.indentscope` + - `mini.jump` + - `mini.jump2d` + - `mini.map` + - `mini.misc` + - `mini.move` + - `mini.notify` + - `mini.operators` + - `mini.pairs` + - `mini.pick` + - `mini.sessions` + - `mini.snippets` + - `mini.splitjoin` + - `mini.starter` + - `mini.statusline` + - `mini.surround` + - `mini.tabline` + - `mini.test` + - `mini.trailspace` + - `mini.visits` +- Add [fzf-lua](https://github.com/ibhagwan/fzf-lua) in `vim.fzf-lua` +- Add [rainbow-delimiters](https://github.com/HiPhish/rainbow-delimiters.nvim) in `vim.visuals.rainbow-delimiters` [kaktu5](https://github.com/kaktu5): diff --git a/flake.lock b/flake.lock index 918b0ce1..c328bda1 100644 --- a/flake.lock +++ b/flake.lock @@ -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": { @@ -1705,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": { @@ -2127,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", @@ -2148,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", @@ -2196,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", diff --git a/flake.nix b/flake.nix index 02ceb667..5d4728f6 100644 --- a/flake.nix +++ b/flake.nix @@ -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"; @@ -497,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"; @@ -749,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; + }; }; } diff --git a/modules/modules.nix b/modules/modules.nix index 6e05c592..65b0c966 100644 --- a/modules/modules.nix +++ b/modules/modules.nix @@ -27,6 +27,7 @@ "git" "languages" "lsp" + "mini" "minimap" "notes" "projects" diff --git a/modules/neovim/init/basic.nix b/modules/neovim/init/basic.nix index 532ebcea..b4677de9 100644 --- a/modules/neovim/init/basic.nix +++ b/modules/neovim/init/basic.nix @@ -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 { diff --git a/modules/plugins/mini/ai/ai.nix b/modules/plugins/mini/ai/ai.nix new file mode 100644 index 00000000..d0da31d7 --- /dev/null +++ b/modules/plugins/mini/ai/ai.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/ai/config.nix b/modules/plugins/mini/ai/config.nix new file mode 100644 index 00000000..7385e1b1 --- /dev/null +++ b/modules/plugins/mini/ai/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/ai/default.nix b/modules/plugins/mini/ai/default.nix new file mode 100644 index 00000000..57da6c08 --- /dev/null +++ b/modules/plugins/mini/ai/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./ai.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/align/align.nix b/modules/plugins/mini/align/align.nix new file mode 100644 index 00000000..96c82947 --- /dev/null +++ b/modules/plugins/mini/align/align.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/align/config.nix b/modules/plugins/mini/align/config.nix new file mode 100644 index 00000000..0a7a5a69 --- /dev/null +++ b/modules/plugins/mini/align/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/align/default.nix b/modules/plugins/mini/align/default.nix new file mode 100644 index 00000000..9ddaff69 --- /dev/null +++ b/modules/plugins/mini/align/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./align.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/animate/animate.nix b/modules/plugins/mini/animate/animate.nix new file mode 100644 index 00000000..fb17c0bd --- /dev/null +++ b/modules/plugins/mini/animate/animate.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/animate/config.nix b/modules/plugins/mini/animate/config.nix new file mode 100644 index 00000000..e9cf2813 --- /dev/null +++ b/modules/plugins/mini/animate/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/animate/default.nix b/modules/plugins/mini/animate/default.nix new file mode 100644 index 00000000..5390fae1 --- /dev/null +++ b/modules/plugins/mini/animate/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./animate.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/basics/basics.nix b/modules/plugins/mini/basics/basics.nix new file mode 100644 index 00000000..e855caa6 --- /dev/null +++ b/modules/plugins/mini/basics/basics.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/basics/config.nix b/modules/plugins/mini/basics/config.nix new file mode 100644 index 00000000..9893ef42 --- /dev/null +++ b/modules/plugins/mini/basics/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/basics/default.nix b/modules/plugins/mini/basics/default.nix new file mode 100644 index 00000000..15bf750b --- /dev/null +++ b/modules/plugins/mini/basics/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./basics.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/bracketed/bracketed.nix b/modules/plugins/mini/bracketed/bracketed.nix new file mode 100644 index 00000000..3152f046 --- /dev/null +++ b/modules/plugins/mini/bracketed/bracketed.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/bracketed/config.nix b/modules/plugins/mini/bracketed/config.nix new file mode 100644 index 00000000..09c6262f --- /dev/null +++ b/modules/plugins/mini/bracketed/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/bracketed/default.nix b/modules/plugins/mini/bracketed/default.nix new file mode 100644 index 00000000..057dbd31 --- /dev/null +++ b/modules/plugins/mini/bracketed/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./bracketed.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/bufremove/bufremove.nix b/modules/plugins/mini/bufremove/bufremove.nix new file mode 100644 index 00000000..5e04609d --- /dev/null +++ b/modules/plugins/mini/bufremove/bufremove.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/bufremove/config.nix b/modules/plugins/mini/bufremove/config.nix new file mode 100644 index 00000000..b65b261a --- /dev/null +++ b/modules/plugins/mini/bufremove/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/bufremove/default.nix b/modules/plugins/mini/bufremove/default.nix new file mode 100644 index 00000000..7f4e79f9 --- /dev/null +++ b/modules/plugins/mini/bufremove/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./bufremove.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/clue/clue.nix b/modules/plugins/mini/clue/clue.nix new file mode 100644 index 00000000..50d33c65 --- /dev/null +++ b/modules/plugins/mini/clue/clue.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/clue/config.nix b/modules/plugins/mini/clue/config.nix new file mode 100644 index 00000000..efdc2946 --- /dev/null +++ b/modules/plugins/mini/clue/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/clue/default.nix b/modules/plugins/mini/clue/default.nix new file mode 100644 index 00000000..55ac57e7 --- /dev/null +++ b/modules/plugins/mini/clue/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./clue.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/colors/colors.nix b/modules/plugins/mini/colors/colors.nix new file mode 100644 index 00000000..7d56cd49 --- /dev/null +++ b/modules/plugins/mini/colors/colors.nix @@ -0,0 +1,11 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption; +in { + options.vim.mini.colors = { + enable = mkEnableOption "mini.colors"; + }; +} diff --git a/modules/plugins/mini/colors/config.nix b/modules/plugins/mini/colors/config.nix new file mode 100644 index 00000000..60953c16 --- /dev/null +++ b/modules/plugins/mini/colors/config.nix @@ -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() + ''; + }; +} diff --git a/modules/plugins/mini/colors/default.nix b/modules/plugins/mini/colors/default.nix new file mode 100644 index 00000000..4eed4770 --- /dev/null +++ b/modules/plugins/mini/colors/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./colors.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/comment/comment.nix b/modules/plugins/mini/comment/comment.nix new file mode 100644 index 00000000..c46c0a58 --- /dev/null +++ b/modules/plugins/mini/comment/comment.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/comment/config.nix b/modules/plugins/mini/comment/config.nix new file mode 100644 index 00000000..7babd8a9 --- /dev/null +++ b/modules/plugins/mini/comment/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/comment/default.nix b/modules/plugins/mini/comment/default.nix new file mode 100644 index 00000000..0a0e6d99 --- /dev/null +++ b/modules/plugins/mini/comment/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./comment.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/completion/completion.nix b/modules/plugins/mini/completion/completion.nix new file mode 100644 index 00000000..fc36ed84 --- /dev/null +++ b/modules/plugins/mini/completion/completion.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/completion/config.nix b/modules/plugins/mini/completion/config.nix new file mode 100644 index 00000000..e0d0b904 --- /dev/null +++ b/modules/plugins/mini/completion/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/completion/default.nix b/modules/plugins/mini/completion/default.nix new file mode 100644 index 00000000..1251f751 --- /dev/null +++ b/modules/plugins/mini/completion/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./completion.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix new file mode 100644 index 00000000..8f035285 --- /dev/null +++ b/modules/plugins/mini/default.nix @@ -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 + ]; +} diff --git a/modules/plugins/mini/diff/config.nix b/modules/plugins/mini/diff/config.nix new file mode 100644 index 00000000..6c5969f6 --- /dev/null +++ b/modules/plugins/mini/diff/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/diff/default.nix b/modules/plugins/mini/diff/default.nix new file mode 100644 index 00000000..c77c8c67 --- /dev/null +++ b/modules/plugins/mini/diff/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./diff.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/diff/diff.nix b/modules/plugins/mini/diff/diff.nix new file mode 100644 index 00000000..4a72fda2 --- /dev/null +++ b/modules/plugins/mini/diff/diff.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/doc/config.nix b/modules/plugins/mini/doc/config.nix new file mode 100644 index 00000000..e9df43b8 --- /dev/null +++ b/modules/plugins/mini/doc/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/doc/default.nix b/modules/plugins/mini/doc/default.nix new file mode 100644 index 00000000..bccfa883 --- /dev/null +++ b/modules/plugins/mini/doc/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./doc.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/doc/doc.nix b/modules/plugins/mini/doc/doc.nix new file mode 100644 index 00000000..8699fa11 --- /dev/null +++ b/modules/plugins/mini/doc/doc.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/extra/config.nix b/modules/plugins/mini/extra/config.nix new file mode 100644 index 00000000..c430847d --- /dev/null +++ b/modules/plugins/mini/extra/config.nix @@ -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() + ''; + }; +} diff --git a/modules/plugins/mini/extra/default.nix b/modules/plugins/mini/extra/default.nix new file mode 100644 index 00000000..73992e72 --- /dev/null +++ b/modules/plugins/mini/extra/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./extra.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/extra/extra.nix b/modules/plugins/mini/extra/extra.nix new file mode 100644 index 00000000..c697fdd6 --- /dev/null +++ b/modules/plugins/mini/extra/extra.nix @@ -0,0 +1,11 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption; +in { + options.vim.mini.extra = { + enable = mkEnableOption "mini.extra"; + }; +} diff --git a/modules/plugins/mini/files/config.nix b/modules/plugins/mini/files/config.nix new file mode 100644 index 00000000..eb195f8d --- /dev/null +++ b/modules/plugins/mini/files/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/files/default.nix b/modules/plugins/mini/files/default.nix new file mode 100644 index 00000000..6c0ebbc0 --- /dev/null +++ b/modules/plugins/mini/files/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./files.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/files/files.nix b/modules/plugins/mini/files/files.nix new file mode 100644 index 00000000..4ba5fcc4 --- /dev/null +++ b/modules/plugins/mini/files/files.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/fuzzy/config.nix b/modules/plugins/mini/fuzzy/config.nix new file mode 100644 index 00000000..0397f4b9 --- /dev/null +++ b/modules/plugins/mini/fuzzy/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/fuzzy/default.nix b/modules/plugins/mini/fuzzy/default.nix new file mode 100644 index 00000000..126d348f --- /dev/null +++ b/modules/plugins/mini/fuzzy/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./fuzzy.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/fuzzy/fuzzy.nix b/modules/plugins/mini/fuzzy/fuzzy.nix new file mode 100644 index 00000000..977a1763 --- /dev/null +++ b/modules/plugins/mini/fuzzy/fuzzy.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/git/config.nix b/modules/plugins/mini/git/config.nix new file mode 100644 index 00000000..41a3d6cb --- /dev/null +++ b/modules/plugins/mini/git/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/git/default.nix b/modules/plugins/mini/git/default.nix new file mode 100644 index 00000000..e7622aa0 --- /dev/null +++ b/modules/plugins/mini/git/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./git.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/git/git.nix b/modules/plugins/mini/git/git.nix new file mode 100644 index 00000000..ebbf4282 --- /dev/null +++ b/modules/plugins/mini/git/git.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/hipatterns/config.nix b/modules/plugins/mini/hipatterns/config.nix new file mode 100644 index 00000000..37876778 --- /dev/null +++ b/modules/plugins/mini/hipatterns/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/hipatterns/default.nix b/modules/plugins/mini/hipatterns/default.nix new file mode 100644 index 00000000..29cd9d7f --- /dev/null +++ b/modules/plugins/mini/hipatterns/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./hipatterns.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/hipatterns/hipatterns.nix b/modules/plugins/mini/hipatterns/hipatterns.nix new file mode 100644 index 00000000..019626cf --- /dev/null +++ b/modules/plugins/mini/hipatterns/hipatterns.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/hues/config.nix b/modules/plugins/mini/hues/config.nix new file mode 100644 index 00000000..90eea737 --- /dev/null +++ b/modules/plugins/mini/hues/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/hues/default.nix b/modules/plugins/mini/hues/default.nix new file mode 100644 index 00000000..3eba39a6 --- /dev/null +++ b/modules/plugins/mini/hues/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./hues.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/hues/hues.nix b/modules/plugins/mini/hues/hues.nix new file mode 100644 index 00000000..13de5116 --- /dev/null +++ b/modules/plugins/mini/hues/hues.nix @@ -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; + }; + }; + }; +} diff --git a/modules/plugins/mini/icons/config.nix b/modules/plugins/mini/icons/config.nix new file mode 100644 index 00000000..aa446935 --- /dev/null +++ b/modules/plugins/mini/icons/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/icons/default.nix b/modules/plugins/mini/icons/default.nix new file mode 100644 index 00000000..f0b16ce8 --- /dev/null +++ b/modules/plugins/mini/icons/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./icons.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/icons/icons.nix b/modules/plugins/mini/icons/icons.nix new file mode 100644 index 00000000..27928a93 --- /dev/null +++ b/modules/plugins/mini/icons/icons.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/indentscope/config.nix b/modules/plugins/mini/indentscope/config.nix new file mode 100644 index 00000000..2e6ec03d --- /dev/null +++ b/modules/plugins/mini/indentscope/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/indentscope/default.nix b/modules/plugins/mini/indentscope/default.nix new file mode 100644 index 00000000..487c248c --- /dev/null +++ b/modules/plugins/mini/indentscope/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./indentscope.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/indentscope/indentscope.nix b/modules/plugins/mini/indentscope/indentscope.nix new file mode 100644 index 00000000..6feffaee --- /dev/null +++ b/modules/plugins/mini/indentscope/indentscope.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/jump/config.nix b/modules/plugins/mini/jump/config.nix new file mode 100644 index 00000000..665f96fd --- /dev/null +++ b/modules/plugins/mini/jump/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/jump/default.nix b/modules/plugins/mini/jump/default.nix new file mode 100644 index 00000000..cb1f9cb3 --- /dev/null +++ b/modules/plugins/mini/jump/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./jump.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/jump/jump.nix b/modules/plugins/mini/jump/jump.nix new file mode 100644 index 00000000..1e16ae7a --- /dev/null +++ b/modules/plugins/mini/jump/jump.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/jump2d/config.nix b/modules/plugins/mini/jump2d/config.nix new file mode 100644 index 00000000..da4ba55f --- /dev/null +++ b/modules/plugins/mini/jump2d/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/jump2d/default.nix b/modules/plugins/mini/jump2d/default.nix new file mode 100644 index 00000000..9065e4d6 --- /dev/null +++ b/modules/plugins/mini/jump2d/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./jump2d.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/jump2d/jump2d.nix b/modules/plugins/mini/jump2d/jump2d.nix new file mode 100644 index 00000000..59f7c2ba --- /dev/null +++ b/modules/plugins/mini/jump2d/jump2d.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/map/config.nix b/modules/plugins/mini/map/config.nix new file mode 100644 index 00000000..7a299eb8 --- /dev/null +++ b/modules/plugins/mini/map/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/map/default.nix b/modules/plugins/mini/map/default.nix new file mode 100644 index 00000000..71110431 --- /dev/null +++ b/modules/plugins/mini/map/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./map.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/map/map.nix b/modules/plugins/mini/map/map.nix new file mode 100644 index 00000000..2d42fe70 --- /dev/null +++ b/modules/plugins/mini/map/map.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/misc/config.nix b/modules/plugins/mini/misc/config.nix new file mode 100644 index 00000000..9a9a6ae4 --- /dev/null +++ b/modules/plugins/mini/misc/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/misc/default.nix b/modules/plugins/mini/misc/default.nix new file mode 100644 index 00000000..9f64fd19 --- /dev/null +++ b/modules/plugins/mini/misc/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./misc.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/misc/misc.nix b/modules/plugins/mini/misc/misc.nix new file mode 100644 index 00000000..1f4dcf55 --- /dev/null +++ b/modules/plugins/mini/misc/misc.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/move/config.nix b/modules/plugins/mini/move/config.nix new file mode 100644 index 00000000..8bf22526 --- /dev/null +++ b/modules/plugins/mini/move/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/move/default.nix b/modules/plugins/mini/move/default.nix new file mode 100644 index 00000000..83caee30 --- /dev/null +++ b/modules/plugins/mini/move/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./move.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/move/move.nix b/modules/plugins/mini/move/move.nix new file mode 100644 index 00000000..ec9eccac --- /dev/null +++ b/modules/plugins/mini/move/move.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/notify/config.nix b/modules/plugins/mini/notify/config.nix new file mode 100644 index 00000000..6872092c --- /dev/null +++ b/modules/plugins/mini/notify/config.nix @@ -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}) + ''; + }); +} diff --git a/modules/plugins/mini/notify/default.nix b/modules/plugins/mini/notify/default.nix new file mode 100644 index 00000000..0f809b7a --- /dev/null +++ b/modules/plugins/mini/notify/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./notify.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/notify/notify.nix b/modules/plugins/mini/notify/notify.nix new file mode 100644 index 00000000..628be47a --- /dev/null +++ b/modules/plugins/mini/notify/notify.nix @@ -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"; + }; + }; +} diff --git a/modules/plugins/mini/operators/config.nix b/modules/plugins/mini/operators/config.nix new file mode 100644 index 00000000..bb374377 --- /dev/null +++ b/modules/plugins/mini/operators/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/operators/default.nix b/modules/plugins/mini/operators/default.nix new file mode 100644 index 00000000..1c77bc65 --- /dev/null +++ b/modules/plugins/mini/operators/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./operators.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/operators/operators.nix b/modules/plugins/mini/operators/operators.nix new file mode 100644 index 00000000..639229bf --- /dev/null +++ b/modules/plugins/mini/operators/operators.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/pairs/config.nix b/modules/plugins/mini/pairs/config.nix new file mode 100644 index 00000000..ce02dee0 --- /dev/null +++ b/modules/plugins/mini/pairs/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/pairs/default.nix b/modules/plugins/mini/pairs/default.nix new file mode 100644 index 00000000..a0563bb0 --- /dev/null +++ b/modules/plugins/mini/pairs/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./pairs.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/pairs/pairs.nix b/modules/plugins/mini/pairs/pairs.nix new file mode 100644 index 00000000..926c93d3 --- /dev/null +++ b/modules/plugins/mini/pairs/pairs.nix @@ -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" {}; + }; +} diff --git a/modules/plugins/mini/pick/config.nix b/modules/plugins/mini/pick/config.nix new file mode 100644 index 00000000..6d82a8ea --- /dev/null +++ b/modules/plugins/mini/pick/config.nix @@ -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}) + ''; + }; +} diff --git a/modules/plugins/mini/pick/default.nix b/modules/plugins/mini/pick/default.nix new file mode 100644 index 00000000..37d1760c --- /dev/null +++ b/modules/plugins/mini/pick/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./pick.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/pick/pick.nix b/modules/plugins/mini/pick/pick.nix new file mode 100644 index 00000000..d8ccbfd5 --- /dev/null +++ b/modules/plugins/mini/pick/pick.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.pick = { + enable = mkEnableOption "mini.pick"; + setupOpts = mkPluginSetupOption "mini.pick" {}; + }; +} diff --git a/modules/plugins/mini/sessions/config.nix b/modules/plugins/mini/sessions/config.nix new file mode 100644 index 00000000..233d6b06 --- /dev/null +++ b/modules/plugins/mini/sessions/config.nix @@ -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.sessions; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-sessions"]; + + pluginRC.mini-sessions = entryAnywhere '' + require("mini.sessions").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/sessions/default.nix b/modules/plugins/mini/sessions/default.nix new file mode 100644 index 00000000..6de787e7 --- /dev/null +++ b/modules/plugins/mini/sessions/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./sessions.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/sessions/sessions.nix b/modules/plugins/mini/sessions/sessions.nix new file mode 100644 index 00000000..0ceba595 --- /dev/null +++ b/modules/plugins/mini/sessions/sessions.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.sessions = { + enable = mkEnableOption "mini.sessions"; + setupOpts = mkPluginSetupOption "mini.sessions" {}; + }; +} diff --git a/modules/plugins/mini/snippets/config.nix b/modules/plugins/mini/snippets/config.nix new file mode 100644 index 00000000..9dc7aab1 --- /dev/null +++ b/modules/plugins/mini/snippets/config.nix @@ -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.snippets; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-snippets"]; + + pluginRC.mini-snippets = entryAnywhere '' + require("mini.snippets").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/snippets/default.nix b/modules/plugins/mini/snippets/default.nix new file mode 100644 index 00000000..e636d458 --- /dev/null +++ b/modules/plugins/mini/snippets/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./snippets.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/snippets/snippets.nix b/modules/plugins/mini/snippets/snippets.nix new file mode 100644 index 00000000..d7f0355c --- /dev/null +++ b/modules/plugins/mini/snippets/snippets.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.snippets = { + enable = mkEnableOption "mini.snippets"; + setupOpts = mkPluginSetupOption "mini.snippets" {}; + }; +} diff --git a/modules/plugins/mini/splitjoin/config.nix b/modules/plugins/mini/splitjoin/config.nix new file mode 100644 index 00000000..b4b93f3f --- /dev/null +++ b/modules/plugins/mini/splitjoin/config.nix @@ -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.splitjoin; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-splitjoin"]; + + pluginRC.mini-splitjoin = entryAnywhere '' + require("mini.splitjoin").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/splitjoin/default.nix b/modules/plugins/mini/splitjoin/default.nix new file mode 100644 index 00000000..0560f936 --- /dev/null +++ b/modules/plugins/mini/splitjoin/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./splitjoin.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/splitjoin/splitjoin.nix b/modules/plugins/mini/splitjoin/splitjoin.nix new file mode 100644 index 00000000..44b2f23f --- /dev/null +++ b/modules/plugins/mini/splitjoin/splitjoin.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.splitjoin = { + enable = mkEnableOption "mini.splitjoin"; + setupOpts = mkPluginSetupOption "mini.splitjoin" {}; + }; +} diff --git a/modules/plugins/mini/starter/config.nix b/modules/plugins/mini/starter/config.nix new file mode 100644 index 00000000..35b5c950 --- /dev/null +++ b/modules/plugins/mini/starter/config.nix @@ -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.starter; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-starter"]; + + pluginRC.mini-starter = entryAnywhere '' + require("mini.starter").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/starter/default.nix b/modules/plugins/mini/starter/default.nix new file mode 100644 index 00000000..0c98acc6 --- /dev/null +++ b/modules/plugins/mini/starter/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./starter.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/starter/starter.nix b/modules/plugins/mini/starter/starter.nix new file mode 100644 index 00000000..df550857 --- /dev/null +++ b/modules/plugins/mini/starter/starter.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.starter = { + enable = mkEnableOption "mini.starter"; + setupOpts = mkPluginSetupOption "mini.starter" {}; + }; +} diff --git a/modules/plugins/mini/statusline/config.nix b/modules/plugins/mini/statusline/config.nix new file mode 100644 index 00000000..9f89b8a4 --- /dev/null +++ b/modules/plugins/mini/statusline/config.nix @@ -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.statusline; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-statusline"]; + + pluginRC.mini-statusline = entryAnywhere '' + require("mini.statusline").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/statusline/default.nix b/modules/plugins/mini/statusline/default.nix new file mode 100644 index 00000000..9fd274e2 --- /dev/null +++ b/modules/plugins/mini/statusline/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./statusline.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/statusline/statusline.nix b/modules/plugins/mini/statusline/statusline.nix new file mode 100644 index 00000000..2c850ae1 --- /dev/null +++ b/modules/plugins/mini/statusline/statusline.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.statusline = { + enable = mkEnableOption "mini.statusline"; + setupOpts = mkPluginSetupOption "mini.statusline" {}; + }; +} diff --git a/modules/plugins/mini/surround/config.nix b/modules/plugins/mini/surround/config.nix new file mode 100644 index 00000000..a0264685 --- /dev/null +++ b/modules/plugins/mini/surround/config.nix @@ -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.surround; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-surround"]; + + pluginRC.mini-surround = entryAnywhere '' + require("mini.surround").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/surround/default.nix b/modules/plugins/mini/surround/default.nix new file mode 100644 index 00000000..95d7a2f5 --- /dev/null +++ b/modules/plugins/mini/surround/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./surround.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/surround/surround.nix b/modules/plugins/mini/surround/surround.nix new file mode 100644 index 00000000..726bf3f9 --- /dev/null +++ b/modules/plugins/mini/surround/surround.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.surround = { + enable = mkEnableOption "mini.surround"; + setupOpts = mkPluginSetupOption "mini.surround" {}; + }; +} diff --git a/modules/plugins/mini/tabline/config.nix b/modules/plugins/mini/tabline/config.nix new file mode 100644 index 00000000..b807e563 --- /dev/null +++ b/modules/plugins/mini/tabline/config.nix @@ -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.tabline; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-tabline"]; + + pluginRC.mini-tabline = entryAnywhere '' + require("mini.tabline").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/tabline/default.nix b/modules/plugins/mini/tabline/default.nix new file mode 100644 index 00000000..38462e0f --- /dev/null +++ b/modules/plugins/mini/tabline/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./tabline.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/tabline/tabline.nix b/modules/plugins/mini/tabline/tabline.nix new file mode 100644 index 00000000..936273db --- /dev/null +++ b/modules/plugins/mini/tabline/tabline.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.tabline = { + enable = mkEnableOption "mini.tabline"; + setupOpts = mkPluginSetupOption "mini.tabline" {}; + }; +} diff --git a/modules/plugins/mini/test/config.nix b/modules/plugins/mini/test/config.nix new file mode 100644 index 00000000..bff42966 --- /dev/null +++ b/modules/plugins/mini/test/config.nix @@ -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.test; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-test"]; + + pluginRC.mini-test = entryAnywhere '' + require("mini.test").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/test/default.nix b/modules/plugins/mini/test/default.nix new file mode 100644 index 00000000..e78c7250 --- /dev/null +++ b/modules/plugins/mini/test/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./test.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/test/test.nix b/modules/plugins/mini/test/test.nix new file mode 100644 index 00000000..28135a26 --- /dev/null +++ b/modules/plugins/mini/test/test.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.test = { + enable = mkEnableOption "mini.test"; + setupOpts = mkPluginSetupOption "mini.test" {}; + }; +} diff --git a/modules/plugins/mini/trailspace/config.nix b/modules/plugins/mini/trailspace/config.nix new file mode 100644 index 00000000..6ed9ba8a --- /dev/null +++ b/modules/plugins/mini/trailspace/config.nix @@ -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.trailspace; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-trailspace"]; + + pluginRC.mini-trailspace = entryAnywhere '' + require("mini.trailspace").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/trailspace/default.nix b/modules/plugins/mini/trailspace/default.nix new file mode 100644 index 00000000..7e9adcba --- /dev/null +++ b/modules/plugins/mini/trailspace/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./trailspace.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/trailspace/trailspace.nix b/modules/plugins/mini/trailspace/trailspace.nix new file mode 100644 index 00000000..19757bfb --- /dev/null +++ b/modules/plugins/mini/trailspace/trailspace.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.trailspace = { + enable = mkEnableOption "mini.trailspace"; + setupOpts = mkPluginSetupOption "mini.trailspace" {}; + }; +} diff --git a/modules/plugins/mini/visits/config.nix b/modules/plugins/mini/visits/config.nix new file mode 100644 index 00000000..424a81c2 --- /dev/null +++ b/modules/plugins/mini/visits/config.nix @@ -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.visits; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-visits"]; + + pluginRC.mini-visits = entryAnywhere '' + require("mini.visits").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/visits/default.nix b/modules/plugins/mini/visits/default.nix new file mode 100644 index 00000000..192eca9e --- /dev/null +++ b/modules/plugins/mini/visits/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./visits.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/visits/visits.nix b/modules/plugins/mini/visits/visits.nix new file mode 100644 index 00000000..c01e8ebf --- /dev/null +++ b/modules/plugins/mini/visits/visits.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.visits = { + enable = mkEnableOption "mini.visits"; + setupOpts = mkPluginSetupOption "mini.visits" {}; + }; +} diff --git a/modules/plugins/theme/supported-themes.nix b/modules/plugins/theme/supported-themes.nix index cf72024a..4029a1c0 100644 --- a/modules/plugins/theme/supported-themes.nix +++ b/modules/plugins/theme/supported-themes.nix @@ -12,6 +12,14 @@ in { require('base16-colorscheme').setup(${toLuaObject base16-colors}) ''; }; + mini-base16 = { + setup = {base16-colors, ...}: '' + -- Base16 theme + require('mini.base16').setup({ + palette = ${toLuaObject base16-colors} + }) + ''; + }; onedark = { setup = {style ? "dark", ...}: '' -- OneDark theme diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index 686295e2..8b25ea8f 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -14,5 +14,6 @@ ./wakatime ./surround ./preview + ./fzf-lua ]; } diff --git a/modules/plugins/utility/fzf-lua/config.nix b/modules/plugins/utility/fzf-lua/config.nix new file mode 100644 index 00000000..85425fc7 --- /dev/null +++ b/modules/plugins/utility/fzf-lua/config.nix @@ -0,0 +1,16 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + + cfg = config.vim.fzf-lua; +in { + vim.lazy.plugins."fzf-lua" = mkIf cfg.enable { + package = "fzf-lua"; + cmd = ["FzfLua"]; + setupModule = "fzf-lua"; + setupOpts = cfg.setupOpts // {"@1" = cfg.profile;}; + }; +} diff --git a/modules/plugins/utility/fzf-lua/default.nix b/modules/plugins/utility/fzf-lua/default.nix new file mode 100644 index 00000000..e5147e44 --- /dev/null +++ b/modules/plugins/utility/fzf-lua/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./fzf-lua.nix + ./config.nix + ]; +} diff --git a/modules/plugins/utility/fzf-lua/fzf-lua.nix b/modules/plugins/utility/fzf-lua/fzf-lua.nix new file mode 100644 index 00000000..c700add7 --- /dev/null +++ b/modules/plugins/utility/fzf-lua/fzf-lua.nix @@ -0,0 +1,37 @@ +{ + config, + lib, + ... +}: let + inherit (lib.types) nullOr enum; + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.nvim.types) mkPluginSetupOption borderType; +in { + options.vim.fzf-lua = { + enable = mkEnableOption "fzf-lua"; + setupOpts = mkPluginSetupOption "fzf-lua" { + winopts.border = mkOption { + type = borderType; + default = config.vim.ui.borders.globalStyle; + description = "Border type for the fzf-lua picker window"; + }; + }; + profile = mkOption { + type = enum [ + "default" + "default-title" + "fzf-native" + "fzf-tmux" + "fzf-vim" + "max-perf" + "telescope" + "skim" + "borderless" + "borderless-full" + "border-fused" + ]; + default = "default"; + description = "The configuration profile to use"; + }; + }; +} diff --git a/modules/plugins/visuals/default.nix b/modules/plugins/visuals/default.nix index 0843654e..3a44aa45 100644 --- a/modules/plugins/visuals/default.nix +++ b/modules/plugins/visuals/default.nix @@ -15,6 +15,7 @@ in { ./nvim-cursorline ./nvim-scrollbar ./nvim-web-devicons + ./rainbow-delimiters ./tiny-devicons-auto-colors ]; } diff --git a/modules/plugins/visuals/rainbow-delimiters/config.nix b/modules/plugins/visuals/rainbow-delimiters/config.nix new file mode 100644 index 00000000..361a0426 --- /dev/null +++ b/modules/plugins/visuals/rainbow-delimiters/config.nix @@ -0,0 +1,18 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + cfg = config.vim.visuals.rainbow-delimiters; +in { + vim = mkIf cfg.enable { + startPlugins = ["rainbow-delimiters"]; + + pluginRC.rainbow-delimiters = entryAnywhere '' + vim.g.rainbow_delimiters = ${toLuaObject cfg.setupOpts} + ''; + }; +} diff --git a/modules/plugins/visuals/rainbow-delimiters/default.nix b/modules/plugins/visuals/rainbow-delimiters/default.nix new file mode 100644 index 00000000..50aaad0e --- /dev/null +++ b/modules/plugins/visuals/rainbow-delimiters/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./rainbow-delimiters.nix + ./config.nix + ]; +} diff --git a/modules/plugins/visuals/rainbow-delimiters/rainbow-delimiters.nix b/modules/plugins/visuals/rainbow-delimiters/rainbow-delimiters.nix new file mode 100644 index 00000000..3fed4a64 --- /dev/null +++ b/modules/plugins/visuals/rainbow-delimiters/rainbow-delimiters.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.visuals.rainbow-delimiters = { + enable = mkEnableOption "rainbow-delimiters"; + setupOpts = mkPluginSetupOption "rainbow-delimiters" {}; + }; +}