diff --git a/docs/release-notes/rl-0.6.md b/docs/release-notes/rl-0.6.md index 061555f..01fbe62 100644 --- a/docs/release-notes/rl-0.6.md +++ b/docs/release-notes/rl-0.6.md @@ -48,3 +48,7 @@ Release notes for release 0.6 [elijahimmer](https://github.com/elijahimmer) - Added rose-pine theme + +[frothymarrow](https://github.com/frothymarrow) + +- Added option `vim.luaPackages` to wrap neovim with extra Lua packages. diff --git a/modules/core/default.nix b/modules/core/default.nix index e4703b6..13534a4 100644 --- a/modules/core/default.nix +++ b/modules/core/default.nix @@ -209,6 +209,14 @@ in { }''; }; + luaPackages = mkOption { + type = types.listOf types.str; + default = []; + description = '' + List of lua packages to install. + ''; + }; + globals = mkOption { default = {}; description = "Set containing global variable values"; diff --git a/modules/default.nix b/modules/default.nix index 31cf87d..c9703b9 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -23,6 +23,8 @@ inputs: { vimOptions = module.config.vim; + extraLuaPackages = ps: map (x: ps.${x}) vimOptions.luaPackages; + buildPlug = {pname, ...} @ args: assert lib.asserts.assertMsg (pname != "nvim-treesitter") "Use buildTreesitterPlug for building nvim-treesitter."; buildVimPlugin (args @@ -59,6 +61,8 @@ inputs: { inherit (vimOptions) viAlias; inherit (vimOptions) vimAlias; + inherit extraLuaPackages; + configure = { customRC = vimOptions.builtConfigRC;