diff mbox series

[bug#54221,v4,2/2] gnu: neovim: Search and use installed plugins, like vim.

Message ID 1548e2407322432808e83389d07cfc6b92379cae.1652922494.git.seerlite@nixnet.email
State New
Headers show
Series [bug#54221,v4,1/2] gnu: vim: Use native-search-paths to search for plugins. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

SeerLite May 19, 2022, 1:08 a.m. UTC
* 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 mbox series

Patch

diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 011521babd..7697a03ef6 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