Subject: [PATCH v5 2/2] gnu: neovim: Search and use installed plugins, like vim.

From: SeerLite <[email-masked]>
Date: Wed, 18 May 2022 21:14:05 -0400

* gnu/packages/vim.scm (neovim)[phases]: Add 'install-guix.vim phase
and remove trailing #t's.
[native-search-paths]: Add search path specification for 'GUIX_VIMRUNTIME'.
---
 gnu/packages/vim.scm | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 011521babd..14e6f86544 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -716,16 +716,25 @@ (define-public neovim
                      (setenv "LUA_PATH"
                              (string-join (map lua-path-spec lua-inputs) ";"))
                      (setenv "LUA_CPATH"
-                             (string-join (map lua-cpath-spec lua-inputs) ";"))
-                     #t)))
+                             (string-join (map lua-cpath-spec lua-inputs) ";")))))
                (add-after 'unpack 'prevent-embedding-gcc-store-path
                  (lambda _
                    ;; nvim remembers its build options, including the compiler with
                    ;; its complete path.  This adds gcc to the closure of nvim, which
                    ;; doubles its size.  We remove the refirence here.
                    (substitute* "cmake/GetCompileFlags.cmake"
-                     (("\\$\\{CMAKE_C_COMPILER\\}") "/gnu/store/.../bin/gcc"))
-                   #t)))))
+                     (("\\$\\{CMAKE_C_COMPILER\\}") "/gnu/store/.../bin/gcc"))))
+               (add-after 'install 'install-guix.vim
+                 (lambda* (#:key inputs outputs #:allow-other-keys)
+                   (let ((vimdir (string-append (assoc-ref outputs "out") "/share/nvim"))
+                         (vimrc #$(local-file (search-auxiliary-file "guix.vim"))))
+                     (mkdir-p vimdir)
+                     (copy-file vimrc (string-append nvimdir "/sysinit.vim"))))))))
+    (native-search-paths
+      (list (search-path-specification
+             (variable "GUIX_VIMRUNTIME")
+             (separator ",")
+             (files (list "share/vim/vimfiles")))))
     (inputs (list libuv-for-luv
                   msgpack
                   libtermkey
-- 
2.36.0