diff --git a/docs/release-notes/rl-0.7.md b/docs/release-notes/rl-0.7.md index d822399..9c5d395 100644 --- a/docs/release-notes/rl-0.7.md +++ b/docs/release-notes/rl-0.7.md @@ -6,13 +6,14 @@ Release notes for release 0.7 [ItsSorae](https://github.com/ItsSorae): -- Added support for [typst](https://typst.app/) under `vim.languages.typst` - This will enable the `typst-lsp` language server, and the `typstfmt` formatter +- Added support for [typst](https://typst.app/) under `vim.languages.typst` This + will enable the `typst-lsp` language server, and the `typstfmt` formatter [frothymarrow](https://github.com/frothymarrow): -- Modified type for [](#opt-vim.visuals.fidget-nvim.setupOpts.progress.display.overrides) - from `anything` to a `submodule` for better type checking. +- Modified type for + [](#opt-vim.visuals.fidget-nvim.setupOpts.progress.display.overrides) from + `anything` to a `submodule` for better type checking. - Fix null `vim.lsp.mappings` generating an error and not being filtered out. [horriblename](https://github.com/horriblename): @@ -25,6 +26,9 @@ Release notes for release 0.7 automatically if you have autoformatting enabled, but can be disabled manually if you choose to. +- Add `vim.extraLuaFiles` for optionally sourcing additional lua files in your + configuration. + - Refactor `programs.languages.elixir` to use lspconfig and none-ls for LSP and formatter setups respectively. Diagnostics support is considered, and may be added once the [credo](https://github.com/rrrene/credo) linter has been added diff --git a/flake.lock b/flake.lock index c34ef94..b072646 100644 --- a/flake.lock +++ b/flake.lock @@ -21,11 +21,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1712014858, - "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "lastModified": 1714641030, + "narHash": "sha256-yzcRNDoyVP7+SCNX0wmuDju1NUCt8Dz9+lyUXEI0dbI=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "rev": "e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e", "type": "github" }, "original": { @@ -99,11 +99,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1704611696, - "narHash": "sha256-4ZCgV5oHdEc3q+XaIzy//gh20uC/aSuAtMU9bsfgLZk=", + "lastModified": 1714571717, + "narHash": "sha256-o4tqlTzi9kcVub167kTGXgCac9jM3kW4+v9MH/ue4Hk=", "owner": "oxalica", "repo": "nil", - "rev": "059d33a24bb76d2048740bcce936362bf54b5bc9", + "rev": "2f3ed6348bbf1440fcd1ab0411271497a0fbbfa4", "type": "github" }, "original": { @@ -114,11 +114,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1713895582, - "narHash": "sha256-cfh1hi+6muQMbi9acOlju3V1gl8BEaZBXBR9jQfQi4U=", + "lastModified": 1715087517, + "narHash": "sha256-CLU5Tsg24Ke4+7sH8azHWXKd0CFd4mhLWfhYgUiDBpQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "572af610f6151fd41c212f897c71f7056e3fb518", + "rev": "b211b392b8486ee79df6cdfb1157ad2133427a29", "type": "github" }, "original": { @@ -130,20 +130,14 @@ }, "nixpkgs-lib": { "locked": { - "dir": "lib", - "lastModified": 1711703276, - "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089", - "type": "github" + "lastModified": 1714640452, + "narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" }, "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" } }, "nixpkgs_2": { @@ -229,11 +223,11 @@ "plugin-catppuccin": { "flake": false, "locked": { - "lastModified": 1713105352, - "narHash": "sha256-yTVou/WArEWygBBs2NFPI9Dm9iSGfwVftKFbOAGl8tk=", + "lastModified": 1715167632, + "narHash": "sha256-aRrhVHQSCyo1Ti1j8ogWJ8e0eJWiTw5+abIpyUxky/M=", "owner": "catppuccin", "repo": "nvim", - "rev": "a1439ad7c584efb3d0ce14ccb835967f030450fe", + "rev": "d97387aea8264f484bb5d5e74f2182a06c83e0d8", "type": "github" }, "original": { @@ -245,11 +239,11 @@ "plugin-ccc": { "flake": false, "locked": { - "lastModified": 1712580766, - "narHash": "sha256-G96++Bmuklb3eDfmyKPKFUDHuopTMmIFa/ILdf11N/I=", + "lastModified": 1714299582, + "narHash": "sha256-QRq9hQF5vLnOTzQGbOWC2ykMdMsQDlDlb6XC17dJG7Q=", "owner": "uga-rosa", "repo": "ccc.nvim", - "rev": "1283eef5494c092a047baa34ed3e667f3cb2715e", + "rev": "f388f1981d222967c741fe9927edf9ba5fa3bcbe", "type": "github" }, "original": { @@ -309,11 +303,11 @@ "plugin-cinnamon-nvim": { "flake": false, "locked": { - "lastModified": 1711005384, - "narHash": "sha256-LNikkGldBpUsfyH8ThtX7RS1p/z3JzSPonT9qUU84jw=", + "lastModified": 1714107684, + "narHash": "sha256-cMP9WRZzevxaWgpILyDh1JwNukm3Jl3JKJYPT2HnFns=", "owner": "declancm", "repo": "cinnamon.nvim", - "rev": "559fe02fae00ffd78377e9c242b2faa25a428592", + "rev": "a011e84b624cd7b609ea928237505d31b987748a", "type": "github" }, "original": { @@ -469,11 +463,11 @@ "plugin-crates-nvim": { "flake": false, "locked": { - "lastModified": 1713995074, - "narHash": "sha256-09+mBhh5hAXENPzrvwNNQEyM7ZtuPYAWrtAG/pzBOV8=", + "lastModified": 1715069896, + "narHash": "sha256-AhjnPo3SM7o7foj5ppv0CW+jfJe6ACerq4YFgJfY3/8=", "owner": "Saecki", "repo": "crates.nvim", - "rev": "f00e11e8282b94f2a2e938d32712c99f0e0bdeb4", + "rev": "7d8541ec0e3b30ac2c43864d3ee13a632e1231ed", "type": "github" }, "original": { @@ -485,11 +479,11 @@ "plugin-dashboard-nvim": { "flake": false, "locked": { - "lastModified": 1713420371, - "narHash": "sha256-zcWBgDM409n6rmb06FqVXbC+HU9HJN0+ADoTJDWHvbA=", + "lastModified": 1714906999, + "narHash": "sha256-euIAtegnJTH2hpFP0OAuvl7VpEV0Xu91h+w9p1uC3+0=", "owner": "glepnir", "repo": "dashboard-nvim", - "rev": "6d06924b562de6f0bb136edf1bf549afbf6b7d00", + "rev": "a0a78099658c7d4be3714f657b18ca8285d5d106", "type": "github" }, "original": { @@ -597,11 +591,11 @@ "plugin-gesture-nvim": { "flake": false, "locked": { - "lastModified": 1713872849, - "narHash": "sha256-npryXJ92l65gOGltTd3jE3fdhiEgqbxCdK5w/C/BQV0=", + "lastModified": 1715081943, + "narHash": "sha256-h6alx5TjskXYQ3H9fFfC4QyxsGbpjQkoZFVvLi1sgFI=", "owner": "notomo", "repo": "gesture.nvim", - "rev": "47175ed2741ba46fe7f14d6ee37ebbc5b9614c5a", + "rev": "591b350bfc87932a748f4838ad724eea6fb073e0", "type": "github" }, "original": { @@ -613,11 +607,11 @@ "plugin-gitsigns-nvim": { "flake": false, "locked": { - "lastModified": 1713620636, - "narHash": "sha256-UK3DyvrQ0kLm9wrMQ6tLDoDunoThbY/Yfjn+eCZpuMw=", + "lastModified": 1715007445, + "narHash": "sha256-v21qTJfiv57vSUDGCJ4wM+L0Ixwh2b3pkoESFAHBrDM=", "owner": "lewis6991", "repo": "gitsigns.nvim", - "rev": "035da036e68e509ed158414416c827d022d914bd", + "rev": "805610a9393fa231f2c2b49cb521bfa413fadb3d", "type": "github" }, "original": { @@ -645,11 +639,11 @@ "plugin-gruvbox": { "flake": false, "locked": { - "lastModified": 1706538659, - "narHash": "sha256-jWnrRy/PT7D0UcPGL+XTbKHWvS0ixvbyqPtTzG9HY84=", + "lastModified": 1715085640, + "narHash": "sha256-2Ad5I+peKCD2BCm4m/QIjqpW08qQvrY+o3bK5UEy1x8=", "owner": "ellisonleao", "repo": "gruvbox.nvim", - "rev": "6e4027ae957cddf7b193adfaec4a8f9e03b4555f", + "rev": "c442515506caa166118e157980f62a9ac24fa8c3", "type": "github" }, "original": { @@ -661,11 +655,11 @@ "plugin-highlight-undo": { "flake": false, "locked": { - "lastModified": 1713721901, - "narHash": "sha256-5zYUpfSR56gCufR+Y18qo8ZpMRg8N3ejkRZNJswJ4wQ=", + "lastModified": 1714982601, + "narHash": "sha256-yGw1SxcUmGQxqKhMb2SJAai07g+rOpEJy2CqIX2h9dM=", "owner": "tzachar", "repo": "highlight-undo.nvim", - "rev": "a0dbc6afa19b438ca5a6f54bc7f1a10399f21a15", + "rev": "1ea1c79372d7d93c88fd97543880927b7635e3d2", "type": "github" }, "original": { @@ -709,11 +703,11 @@ "plugin-image-nvim": { "flake": false, "locked": { - "lastModified": 1713989303, - "narHash": "sha256-UBrusfIYWURI1Auo3XayswA8NXgZhqwazg6wmmgWygA=", + "lastModified": 1714464812, + "narHash": "sha256-UfJzROXnjaiF+kIaBYAt5GSL107vT5NrpXj+Gh535Yk=", "owner": "3rd", "repo": "image.nvim", - "rev": "2d4b479c59fd70cc26f63d48b5cd76a44dda8873", + "rev": "604692f493519128c58893c28273d4247bc71a4d", "type": "github" }, "original": { @@ -741,11 +735,11 @@ "plugin-leap-nvim": { "flake": false, "locked": { - "lastModified": 1712927908, - "narHash": "sha256-sSnofCInXuqaDEawT4vN1WdYl1cjK++BjSFnR1wXjr4=", + "lastModified": 1714857300, + "narHash": "sha256-RodnRoiQTH/+XoPk30neLiYIptPJnCvL94keIQXjq2g=", "owner": "ggandor", "repo": "leap.nvim", - "rev": "626be4c4ec040aeaf6466c9aae17ee0ab09f1a5b", + "rev": "f1f19fc268b406b00b50091f51f16d9634fbe449", "type": "github" }, "original": { @@ -917,11 +911,11 @@ "plugin-noice-nvim": { "flake": false, "locked": { - "lastModified": 1711471279, - "narHash": "sha256-y6gHNkWVsIuwBf7MblCTKTZSqjGDxqeFeQZWexzwk94=", + "lastModified": 1714737209, + "narHash": "sha256-jR9tX6AhY+DXPqGXqGqCkG/sL9+mLxpwOqfwjHHN0Ac=", "owner": "folke", "repo": "noice.nvim", - "rev": "0cbe3f88d038320bdbda3c4c5c95f43a13c3aa12", + "rev": "f4decbc7a80229ccc9f86026b74bdcf0c39e38a7", "type": "github" }, "original": { @@ -950,11 +944,11 @@ "plugin-nui-nvim": { "flake": false, "locked": { - "lastModified": 1710740032, - "narHash": "sha256-Zr5CNx6BIM6naCXW8YBc/Oj1qOtWV/3tuMoaaZjoSZA=", + "lastModified": 1714991123, + "narHash": "sha256-W5w8mWjZhf8rhFYDJX4vPAszxKX6uLgT7+8xg3dY4Ok=", "owner": "MunifTanjim", "repo": "nui.nvim", - "rev": "cbd2668414331c10039278f558630ed19b93e69b", + "rev": "a3597dc88b53489d3fddbddbbd13787355253bb0", "type": "github" }, "original": { @@ -966,11 +960,11 @@ "plugin-nvim-autopairs": { "flake": false, "locked": { - "lastModified": 1712441622, - "narHash": "sha256-ta+0jw7P0ESThP8q2c+CD+nCzPMyHH2Cy3kjjysH0TE=", + "lastModified": 1714895218, + "narHash": "sha256-LMRt1XEoeHB3blfjI0SsQr4goMUmwjoMGS2LcR3ye20=", "owner": "windwp", "repo": "nvim-autopairs", - "rev": "4f41e5940bc0443fdbe5f995e2a596847215cd2a", + "rev": "14e97371b2aab6ee70054c1070a123dfaa3e217e", "type": "github" }, "original": { @@ -998,11 +992,11 @@ "plugin-nvim-cmp": { "flake": false, "locked": { - "lastModified": 1713837627, - "narHash": "sha256-rz+JMd/hsUEDNVan2sCuEGtbsOVi6oRmPtps+7qSXQE=", + "lastModified": 1715160812, + "narHash": "sha256-/zTOFwCSBETBgkILpP8h82ZjN7LiMV0Uk5d2TEnQVU4=", "owner": "hrsh7th", "repo": "nvim-cmp", - "rev": "8f3c541407e691af6163e2447f3af1bd6e17f9a3", + "rev": "cd2cf0c124d3de577fb5449746568ee8e601afc8", "type": "github" }, "original": { @@ -1078,11 +1072,11 @@ "plugin-nvim-dap-ui": { "flake": false, "locked": { - "lastModified": 1710867604, - "narHash": "sha256-KAwCt8E3lC0fzXQ9GpPsdb9wdWC6G2P4C/YFQFY9AAM=", + "lastModified": 1714314733, + "narHash": "sha256-26g4dlxzTGaR5OrXpPo4A2erM/eSkgedb0Bl2pK362M=", "owner": "rcarriga", "repo": "nvim-dap-ui", - "rev": "edfa93f60b189e5952c016eee262d0685d838450", + "rev": "5934302d63d1ede12c0b22b6f23518bb183fc972", "type": "github" }, "original": { @@ -1126,11 +1120,11 @@ "plugin-nvim-lspconfig": { "flake": false, "locked": { - "lastModified": 1713908193, - "narHash": "sha256-VdIoInJj2u49WHN4+WX0kNHdbXgh0AqIPU+OAiUaBck=", + "lastModified": 1715152811, + "narHash": "sha256-LMzLDbkKVmRRhwaUaroCRGUsKe/fwzgwV1gbvr/t6WQ=", "owner": "neovim", "repo": "nvim-lspconfig", - "rev": "cfa386fc4027e847156ee16141ea1f4c0bc2f0a4", + "rev": "a3d9395455f2b2e3b50a0b0f37b8b4c23683f44a", "type": "github" }, "original": { @@ -1190,11 +1184,11 @@ "plugin-nvim-nio": { "flake": false, "locked": { - "lastModified": 1712221544, - "narHash": "sha256-ZRYclqsgAvlRBwb59XHlqVat7CxUJTH1rD6QLwh1ang=", + "lastModified": 1714664267, + "narHash": "sha256-VfoJOXXtMhalFcnfhVzweq7TVmB8WjRP+Z5Z5Z24Pzc=", "owner": "nvim-neotest", "repo": "nvim-nio", - "rev": "5800f585def265d52f1d8848133217c800bcb25d", + "rev": "8765cbc4d0c629c8158a5341e1b4305fd93c3a90", "type": "github" }, "original": { @@ -1222,11 +1216,11 @@ "plugin-nvim-session-manager": { "flake": false, "locked": { - "lastModified": 1708284146, - "narHash": "sha256-+TDWY8mprJfUp9ZFKbz83to7XW8iiovja22jHms+N1A=", + "lastModified": 1714905094, + "narHash": "sha256-VduhmnnRPIdi6GZ+TZUnZfpY4Lt8z5JBTKgl7oobtdY=", "owner": "Shatur", "repo": "neovim-session-manager", - "rev": "d8e1ba3bbcf3fdc6a887bcfbd94c48ae4707b457", + "rev": "892c55f7256fe170301a1fdd21752982c75c3507", "type": "github" }, "original": { @@ -1238,11 +1232,11 @@ "plugin-nvim-surround": { "flake": false, "locked": { - "lastModified": 1712807644, - "narHash": "sha256-gXWSCAJhOJKzTFi6QiDqDWPNgBtG5KgyF2t4gposqSY=", + "lastModified": 1714506343, + "narHash": "sha256-PJdkmTzuRldPTdaoerdddOL0/+V/KyNSzFBBee6P4kU=", "owner": "kylechui", "repo": "nvim-surround", - "rev": "a4e30d33add8a9743b4f518b3a788b3c8e5def71", + "rev": "6d0dc3dbb557bcc6a024969da461df4ba803fc48", "type": "github" }, "original": { @@ -1254,11 +1248,11 @@ "plugin-nvim-tree-lua": { "flake": false, "locked": { - "lastModified": 1713946472, - "narHash": "sha256-iD8c/dXt/UcTYDK8/zkTkFW/1Ial8ulCUWojjyXpG8k=", + "lastModified": 1714794673, + "narHash": "sha256-rY4FbuqBM4zOUkaA3QBc+UrpfTha8uGtp+lIzrYK+cg=", "owner": "nvim-tree", "repo": "nvim-tree.lua", - "rev": "62008e5cf2e8745c9d23bb599ef642963131057e", + "rev": "64f61e4c913047a045ff90bd188dd3b54ee443cf", "type": "github" }, "original": { @@ -1270,11 +1264,11 @@ "plugin-nvim-treesitter-context": { "flake": false, "locked": { - "lastModified": 1713984790, - "narHash": "sha256-QAudKglQGDRJKrsEcMSjbrxTgQRXO60ZcfOvEnPLUoE=", + "lastModified": 1714689136, + "narHash": "sha256-gHbLt0ApyPPQU8Q+lde0Zv8XBR6pESKzvIzIXHkd5eI=", "owner": "nvim-treesitter", "repo": "nvim-treesitter-context", - "rev": "4fe0a54e86859744968e1a5c7867b49c86855774", + "rev": "2650e6431f7daba5d9c2c64134fa5eb2312eb3d7", "type": "github" }, "original": { @@ -1302,11 +1296,11 @@ "plugin-nvim-web-devicons": { "flake": false, "locked": { - "lastModified": 1713675782, - "narHash": "sha256-AW2W6H7OTv52hfZCcYQc5UjFArBWKLeVclrwMt13HOM=", + "lastModified": 1715028064, + "narHash": "sha256-DSUTxUFCesXuaJjrDNvurILUt1IrO5MI5ukbZ8D87zQ=", "owner": "nvim-tree", "repo": "nvim-web-devicons", - "rev": "beb6367ab8496c9e43f22e0252735fdadae1872d", + "rev": "5b9067899ee6a2538891573500e8fd6ff008440f", "type": "github" }, "original": { @@ -1318,11 +1312,11 @@ "plugin-obsidian-nvim": { "flake": false, "locked": { - "lastModified": 1713538455, - "narHash": "sha256-nIAaQa0DBYBQyfTEJi3Lzqs7QJqyw0Cemq6Hm704K60=", + "lastModified": 1715192893, + "narHash": "sha256-lGnEEFp/MU5sciq6bH5YKAiFx7kf9tTYqE+eB8zvf7A=", "owner": "epwalsh", "repo": "obsidian.nvim", - "rev": "ec0f44e1921d2701bd99a542031d280f1e3930b5", + "rev": "2e1f03416583232899dc1b6e27673da5e705abef", "type": "github" }, "original": { @@ -1350,11 +1344,11 @@ "plugin-orgmode-nvim": { "flake": false, "locked": { - "lastModified": 1713539113, - "narHash": "sha256-0Ayu2kVpnsxu/ER0nx+t7nyU9oNN8URLrGQtAKKb7Ls=", + "lastModified": 1715114055, + "narHash": "sha256-SmofuYt4fLhtl5qedYlmCRgOmZaw3nmlnMg0OMzyKnM=", "owner": "nvim-orgmode", "repo": "orgmode", - "rev": "389e91f6f935aa845bc0cd13dd80f75431c34751", + "rev": "cda615fa7c8607bfb7aaf7d2c9424dd5969f2625", "type": "github" }, "original": { @@ -1382,11 +1376,11 @@ "plugin-plenary-nvim": { "flake": false, "locked": { - "lastModified": 1713788468, - "narHash": "sha256-orGs1npIGIk7MUYadatYrcEXygK7JTj6OqQwy2TLDn0=", + "lastModified": 1714083960, + "narHash": "sha256-vy0MXEoSM4rvYpfwbc2PnilvMOA30Urv0FAxjXuvqQ8=", "owner": "nvim-lua", "repo": "plenary.nvim", - "rev": "5129a3693c482fcbc5ab99a7706ffc4360b995a0", + "rev": "08e301982b9a057110ede7a735dd1b5285eb341f", "type": "github" }, "original": { @@ -1526,11 +1520,11 @@ "plugin-telescope": { "flake": false, "locked": { - "lastModified": 1713665692, - "narHash": "sha256-wlRiwT1TCtwPXnIwnzqa6ZABUzJYn+lSRyvkqe6Dbsw=", + "lastModified": 1714700089, + "narHash": "sha256-SoEetPE7f7Y0kUa4+7dH+EOs/0WBsMDxeOkbVNuoSjE=", "owner": "nvim-telescope", "repo": "telescope.nvim", - "rev": "7d1698f3d88b448e0639974248cc17f49b7b8acf", + "rev": "fac83a556e7b710dc31433dec727361ca062dbe9", "type": "github" }, "original": { @@ -1622,11 +1616,11 @@ "plugin-vim-fugitive": { "flake": false, "locked": { - "lastModified": 1712554826, - "narHash": "sha256-pmY1EQbupKvsqok9O5omkOWi0BEZ8df7HL0F7ubdY9Q=", + "lastModified": 1714601825, + "narHash": "sha256-0ujueJ226zEmjkFwodSukO1Zu5gMvTmx/dCtT5VBhek=", "owner": "tpope", "repo": "vim-fugitive", - "rev": "dac8e5c2d85926df92672bf2afb4fc48656d96c7", + "rev": "ce882460cf3db12e99f8bf579cbf99e331f6dd4f", "type": "github" }, "original": { @@ -1871,11 +1865,11 @@ ] }, "locked": { - "lastModified": 1704593904, - "narHash": "sha256-nDoXZDTRdgF3b4n3m011y99nYFewvOl9UpzFvP8Rb3c=", + "lastModified": 1714529851, + "narHash": "sha256-YMKJW880f7LHXVRzu93xa6Ek+QLECIu0IRQbXbzZe38=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "c36fd70a99decfa6e110c86f296a97613034a680", + "rev": "9ca720fdcf7865385ae3b93ecdf65f1a64cb475e", "type": "github" }, "original": { @@ -1936,11 +1930,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1713960597, - "narHash": "sha256-WAryNIrMfZ48iZSTh8hcHIX9vwh78LMFUtewgY7kp1Y=", + "lastModified": 1715170163, + "narHash": "sha256-EuRzY3HI9sMMqPX7Yb7xkZaBoznP0mtS2O/Kk/r6fYk=", "owner": "mitchellh", "repo": "zig-overlay", - "rev": "71894accd2dd096f5a84166a628b1f075311aafe", + "rev": "9c0a853edcab5d60d28784c10b13392d7fabb9d7", "type": "github" }, "original": { diff --git a/modules/wrapper/rc/config.nix b/modules/wrapper/rc/config.nix index f42f040..b50531b 100644 --- a/modules/wrapper/rc/config.nix +++ b/modules/wrapper/rc/config.nix @@ -133,6 +133,14 @@ in { configRC = { globalsScript = entryAnywhere (concatStringsSep "\n" globalsScript); + # Call additional lua files with :luafile in Vimscript + # section of the configuration, only after + # the luaScript section has been evaluated + extraLuaFiles = let + callLuaFiles = map (file: "luafile ${file}") cfg.extraLuaFiles; + in + entryAfter ["globalScript"] (concatStringsSep "\n" callLuaFiles); + # wrap the lua config in a lua block # using the wrapLuaConfic function from the lib luaScript = let @@ -148,7 +156,7 @@ in { inherit mapResult; }; in - entryAfter ["globalsScript"] luaConfig; + entryAnywhere luaConfig; extraPluginConfigs = let mapResult = result: (wrapLuaConfig { diff --git a/modules/wrapper/rc/options.nix b/modules/wrapper/rc/options.nix index 106701e..bc14241 100644 --- a/modules/wrapper/rc/options.nix +++ b/modules/wrapper/rc/options.nix @@ -37,8 +37,8 @@ in { To avoid leaking imperative user configuration into your configuration, this is enabled by default. If you wish to load configuration from user configuration directories - (e.g. `$HOME/.config/nvim`, `$HOME/.config/nvim/after` - and `$HOME/.local/share/nvim/site`) you may set this + (e.g. {file}`$HOME/.config/nvim`, {file}`$HOME/.config/nvim/after` + and {file}`$HOME/.local/share/nvim/site`) you may set this option to true. ::: ''; @@ -68,16 +68,52 @@ in { active runtimepath of the Neovim. This can be used to add additional lookup paths for configs, plugins, spell languages and other things you would generally place in - your `$HOME/.config/nvim`. + your {file}`$HOME/.config/nvim`. This is meant as a declarative alternative to throwing - files into `~/.config/nvim` and having the Neovim + files into {file}`~/.config/nvim` and having the Neovim wrapper pick them up. For more details on `vim.o.runtimepath`, and what paths to use; please see [the official documentation](https://neovim.io/doc/user/options.html#'runtimepath') ''; }; + extraLuaFiles = mkOption { + type = listOf (either path str); + default = []; + example = literalExpression '' + [ + # absolute path, as a string - impure + "$HOME/.config/nvim/my-lua-file.lua" + + # relative path, as a path - pure + ./nvim/my-lua-file.lua + + # source type path - pure and reproducible + (builtins.source { + path = ./nvim/my-lua-file.lua; + name = "my-lua-file"; + }) + ] + ''; + + description = '' + Additional lua files that will be sourced by Neovim. + Takes both absolute and relative paths, all of which + will be called via the `luafile` command in Neovim. + + See [lua-commands](https://neovim.io/doc/user/lua.html#lua-commands) + on the Neovim documentation for more details. + + ::: {.warning} + All paths passed to this option must be valid. If Neovim cannot + resolve the path you are attempting to sourcee, then your configuration + will error, and Neovim will not start. Please ensure that all paths + are correct before using this option. + ::: + ''; + }; + globals = mkOption { type = attrs; default = {};