modules: avoid setting empty strings to extraConfig* options

Problem:  Some modules are setting empty strings to extraConfig* options
          with the intention to not generate any config. But empty
          strings are also values, so they are still concatenated in the
          final value of extraConfig* options. This results in a
          multiple empty strings in extraConfigs.

Solution: Avoid using optionalString when setting values to extraConfig*
          options. Use mkIf instead.

          This commit also fixes mkIf condition in autocmd module.

          `mkNeovimPlugin` is a special case. To avoid evaluating
          caller's arguments mkMerge/optionalAttrs pattern is used
          instead.
This commit is contained in:
Stanislav Asunkin 2024-07-21 20:59:16 +03:00 committed by Gaétan Lepage
parent 299d0406bb
commit 9317537848
7 changed files with 80 additions and 73 deletions

View file

@ -140,7 +140,7 @@ with lib;
'';
};
extraConfigLuaPre = lib.optionalString config.wrapRc ''
extraConfigLuaPre = lib.mkIf config.wrapRc ''
-- Ignore the user lua configuration
vim.opt.runtimepath:remove(vim.fn.stdpath('config')) -- ~/.config/nvim
vim.opt.runtimepath:remove(vim.fn.stdpath('config') .. "/after") -- ~/.config/nvim/after