1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 13:10:33 +02:00

gnu: neovim: Add support for guix neovim packages.

Enables the use of guix as a package manager for neovim, compatible with
the outputs of `vim-build-system`.

* gnu/packages/vim.scm (neovim)[arguments]: Added another phase to
install the system init file to the correct place.
* gnu/packages/aux-files/guix-nvim.vim: New file.
* Makefile.am (AUX_FILES): Register file.

Change-Id: I375e3e0d051da27d065dff5456cb298a01bc90b1
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
This commit is contained in:
Oscar Chevalier
2025-07-21 23:35:44 +10:00
committed by Efraim Flashner
parent 80f24100f6
commit 2738209b5d
3 changed files with 20 additions and 1 deletions

View File

@@ -448,6 +448,7 @@ AUX_FILES = \
gnu/packages/aux-files/emacs/guix-emacs.el \
gnu/packages/aux-files/findclass.php \
gnu/packages/aux-files/guix.vim \
gnu/packages/aux-files/guix-nvim.vim \
gnu/packages/aux-files/linux-libre/6.16-arm64.conf \
gnu/packages/aux-files/linux-libre/6.16-riscv.conf \
gnu/packages/aux-files/linux-libre/6.16-x86_64.conf \

View File

@@ -0,0 +1,10 @@
lua << EOF
-- This appends all applicable neovim paths to the runtimepath.
for _, directory in pairs({"/run/current-system/profile", "~/.guix-profile", "~/.guix-home/profile", vim.env.GUIX_PROFILE, vim.env.GUIX_ENVIRONMENT}) do
local rtp = vim.fs.abspath(directory .. "/share/nvim/site")
local stat = vim.uv.fs_stat(rtp)
if stat and stat.type == "directory" then
vim.opt.rtp:append(rtp)
end
end
EOF

View File

@@ -862,7 +862,15 @@ is based on Vim's builtin plugin support.")
;; doubles its size. We remove the reference here.
(substitute* "cmake.config/versiondef.h.in"
(("\\$\\{CMAKE_C_COMPILER\\}") "/gnu/store/.../bin/gcc"))
#t)))))
#t))
(add-after 'install 'install-guix-nvim.vim
(lambda* (#:key outputs #:allow-other-keys)
(let ((nvimdir (string-append (assoc-ref outputs "out")
"/share/nvim")))
(mkdir-p nvimdir)
(copy-file
#$(local-file (search-auxiliary-file "guix-nvim.vim"))
(string-append nvimdir "/sysinit.vim"))))))))
(inputs (list libuv-for-luv
msgpack
libtermkey