From 47ad3655ec804ce250f391567ea57e7eb1bbbdf7 Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Tue, 27 Jul 2021 15:59:50 +0200 Subject: [PATCH] programs.neovim: expose generatedConfigViml (#2213) Expose the generated viml config, this has 2 advantages: 1/ user can choose to write the generated config to a file of its choice 2/ the user can prepend/append to the config before writing it xdg.configFile."nvim/init.vim".text = '' " prepend some config ${programs.neovim.generatedConfigViml} " append some config ''; NOTE: this was already possible with xdg.configFile."nvim/init.vim" = mkMerge [ (mkBefore { text = '' " prepend some config ''; }) (mkAfter { text = '' " append some config ''; }) ] --- modules/programs/neovim.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modules/programs/neovim.nix b/modules/programs/neovim.nix index 64e8f94ba..a5ffd110d 100644 --- a/modules/programs/neovim.nix +++ b/modules/programs/neovim.nix @@ -132,6 +132,15 @@ in { ''; }; + generatedConfigViml = mkOption { + type = types.lines; + visible = true; + readOnly = true; + description = '' + Generated vimscript config. + ''; + }; + package = mkOption { type = types.package; default = pkgs.neovim-unwrapped; @@ -280,6 +289,8 @@ in { configure.customRC -> programs.neovim.extraConfig ''; + programs.neovim.generatedConfigViml = neovimConfig.neovimRcContent; + home.packages = [ cfg.finalPackage ]; xdg.configFile."nvim/init.vim" = mkIf (neovimConfig.neovimRcContent != "") {