diff options
| author | Oscar Chevalier <oscar.chevalier@gmail.com> | 2025-07-21 23:35:44 +1000 |
|---|---|---|
| committer | Efraim Flashner <efraim@flashner.co.il> | 2025-09-25 12:38:47 +0300 |
| commit | 2738209b5d3b7ca4a306a90d321e35080f25b8ad (patch) | |
| tree | eac7bd7a13b1cb3edb9cd022c2b431832218279c /gnu/packages | |
| parent | 80f24100f67a3a0f611a5ca889c7583945b7d8b7 (diff) | |
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>
Diffstat (limited to 'gnu/packages')
| -rw-r--r-- | gnu/packages/aux-files/guix-nvim.vim | 10 | ||||
| -rw-r--r-- | gnu/packages/vim.scm | 10 |
2 files changed, 19 insertions, 1 deletions
diff --git a/gnu/packages/aux-files/guix-nvim.vim b/gnu/packages/aux-files/guix-nvim.vim new file mode 100644 index 00000000000..6ac92573fd1 --- /dev/null +++ b/gnu/packages/aux-files/guix-nvim.vim | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | lua << EOF | ||
| 2 | -- This appends all applicable neovim paths to the runtimepath. | ||
| 3 | for _, directory in pairs({"/run/current-system/profile", "~/.guix-profile", "~/.guix-home/profile", vim.env.GUIX_PROFILE, vim.env.GUIX_ENVIRONMENT}) do | ||
| 4 | local rtp = vim.fs.abspath(directory .. "/share/nvim/site") | ||
| 5 | local stat = vim.uv.fs_stat(rtp) | ||
| 6 | if stat and stat.type == "directory" then | ||
| 7 | vim.opt.rtp:append(rtp) | ||
| 8 | end | ||
| 9 | end | ||
| 10 | EOF | ||
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 36357598ef8..02182dad488 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm | |||
| @@ -862,7 +862,15 @@ is based on Vim's builtin plugin support.") | |||
| 862 | ;; doubles its size. We remove the reference here. | 862 | ;; doubles its size. We remove the reference here. |
| 863 | (substitute* "cmake.config/versiondef.h.in" | 863 | (substitute* "cmake.config/versiondef.h.in" |
| 864 | (("\\$\\{CMAKE_C_COMPILER\\}") "/gnu/store/.../bin/gcc")) | 864 | (("\\$\\{CMAKE_C_COMPILER\\}") "/gnu/store/.../bin/gcc")) |
| 865 | #t))))) | 865 | #t)) |
| 866 | (add-after 'install 'install-guix-nvim.vim | ||
| 867 | (lambda* (#:key outputs #:allow-other-keys) | ||
| 868 | (let ((nvimdir (string-append (assoc-ref outputs "out") | ||
| 869 | "/share/nvim"))) | ||
| 870 | (mkdir-p nvimdir) | ||
| 871 | (copy-file | ||
| 872 | #$(local-file (search-auxiliary-file "guix-nvim.vim")) | ||
| 873 | (string-append nvimdir "/sysinit.vim")))))))) | ||
| 866 | (inputs (list libuv-for-luv | 874 | (inputs (list libuv-for-luv |
| 867 | msgpack | 875 | msgpack |
| 868 | libtermkey | 876 | libtermkey |
