From 507333f48465ef52de7de08ff23fe2a57997f30a Mon Sep 17 00:00:00 2001 From: PerchunPak Date: Wed, 27 Nov 2024 16:58:08 +0100 Subject: [PATCH 1/3] spacevim: update and add general improvements --- pkgs/by-name/sp/spacevim/helptags.patch | 18 ----- pkgs/by-name/sp/spacevim/package.nix | 90 +++++++++++++------------ 2 files changed, 47 insertions(+), 61 deletions(-) delete mode 100644 pkgs/by-name/sp/spacevim/helptags.patch diff --git a/pkgs/by-name/sp/spacevim/helptags.patch b/pkgs/by-name/sp/spacevim/helptags.patch deleted file mode 100644 index bc0f9140c7be..000000000000 --- a/pkgs/by-name/sp/spacevim/helptags.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/autoload/SpaceVim.vim b/autoload/SpaceVim.vim -index 16688680..fcafd6f7 100644 ---- a/autoload/SpaceVim.vim -+++ b/autoload/SpaceVim.vim -@@ -1355,13 +1355,6 @@ function! SpaceVim#end() abort - let &helplang = 'jp' - endif - "" -- " generate tags for SpaceVim -- let help = fnamemodify(g:_spacevim_root_dir, ':p:h') . '/doc' -- try -- exe 'helptags ' . help -- catch -- call SpaceVim#logger#warn('Failed to generate helptags for SpaceVim') -- endtry - - "" - " set language diff --git a/pkgs/by-name/sp/spacevim/package.nix b/pkgs/by-name/sp/spacevim/package.nix index 3db7c73fd422..66e5686b5df1 100644 --- a/pkgs/by-name/sp/spacevim/package.nix +++ b/pkgs/by-name/sp/spacevim/package.nix @@ -1,26 +1,21 @@ -{ ripgrep -, git -, fzf -, makeWrapper -, vim-full -, vimPlugins -, fetchFromGitHub -, lib -, stdenv -, formats -, runCommand -, spacevim_config ? import ./init.nix +{ + fetchFromGitHub, + formats, + fzf, + git, + lib, + makeWrapper, + neovim, + nix-update-script, + ripgrep, + runCommand, + stdenv, + vim-full, + spacevim_config ? import ./init.nix, }: let format = formats.toml { }; - vim-customized = vim-full.customize { - name = "vim"; - # Not clear at the moment how to import plugins such that - # SpaceVim finds them and does not auto download them to - # ~/.cache/vimfiles/repos - vimrcConfig.packages.myVimPackage = with vimPlugins; { start = [ ]; }; - }; spacevimdir = runCommand "SpaceVim.d" { } '' mkdir -p $out cp ${format.generate "init.toml" spacevim_config} $out/init.toml @@ -28,28 +23,16 @@ let in stdenv.mkDerivation rec { pname = "spacevim"; - version = "1.8.0"; + version = "2.3.0"; src = fetchFromGitHub { owner = "SpaceVim"; repo = "SpaceVim"; rev = "v${version}"; - sha256 = "sha256:11snnh5q47nqhzjb9qya6hpnmlzc060958whqvqrh4hc7gnlnqp8"; + hash = "sha256-MHsAA0x/rfwRupe8aW1JVKGiYkySAX0AhOkBuScpn7I="; }; - nativeBuildInputs = [ makeWrapper vim-customized ]; - buildInputs = [ vim-customized ]; - - buildPhase = '' - runHook preBuild - # generate the helptags - vim -u NONE -c "helptags $(pwd)/doc" -c q - runHook postBuild - ''; - - patches = [ - # Don't generate helptags at runtime into read-only $SPACEVIMDIR - ./helptags.patch - ]; + nativeBuildInputs = [ makeWrapper ]; + dontBuild = true; installPhase = '' runHook preInstall @@ -58,21 +41,42 @@ stdenv.mkDerivation rec { cp -r $(pwd) $out/SpaceVim # trailing slash very important for SPACEVIMDIR - makeWrapper "${vim-customized}/bin/vim" "$out/bin/spacevim" \ + makeWrapper "${vim-full}/bin/vim" "$out/bin/spacevim" \ --add-flags "-u $out/SpaceVim/vimrc" --set SPACEVIMDIR "${spacevimdir}/" \ - --prefix PATH : ${lib.makeBinPath [ fzf git ripgrep]} + --prefix PATH : ${ + lib.makeBinPath [ + fzf + git + ripgrep + ] + } + makeWrapper "${neovim}/bin/nvim" "$out/bin/spacenvim" \ + --add-flags "-u $out/SpaceVim/init.vim" --set SPACEVIMDIR "${spacevimdir}/" \ + --prefix PATH : ${ + lib.makeBinPath [ + fzf + git + ripgrep + ] + } runHook postInstall ''; - meta = with lib; { - description = "Modern Vim distribution"; + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Modular Vim/Neovim configuration"; longDescription = '' - SpaceVim is a distribution of the Vim editor that’s inspired by spacemacs. + SpaceVim is a modular configuration of Vim and Neovim. It's inspired by + spacemacs. It manages collections of plugins in layers, which help to + collect related packages together to provide features. This approach + helps keep the configuration organized and reduces overhead for the user + by keeping them from having to think about what packages to install. ''; homepage = "https://spacevim.org/"; - license = licenses.gpl3Plus; - maintainers = [ maintainers.fzakaria ]; - platforms = platforms.all; + license = lib.licenses.gpl3Plus; + maintainers = [ lib.maintainers.fzakaria ]; + platforms = lib.platforms.all; mainProgram = "spacevim"; }; } From e93754bc37d928567e48ab9a2e47b2cd1974cd4a Mon Sep 17 00:00:00 2001 From: PerchunPak Date: Wed, 27 Nov 2024 21:30:10 +0100 Subject: [PATCH 2/3] spacevim: change maintainer --- pkgs/by-name/sp/spacevim/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/sp/spacevim/package.nix b/pkgs/by-name/sp/spacevim/package.nix index 66e5686b5df1..82268cc69616 100644 --- a/pkgs/by-name/sp/spacevim/package.nix +++ b/pkgs/by-name/sp/spacevim/package.nix @@ -75,7 +75,7 @@ stdenv.mkDerivation rec { ''; homepage = "https://spacevim.org/"; license = lib.licenses.gpl3Plus; - maintainers = [ lib.maintainers.fzakaria ]; + maintainers = [ lib.maintainers.perchun ]; platforms = lib.platforms.all; mainProgram = "spacevim"; }; From 79e34d35d6b645990a9c44147aa4ec10d0c434b1 Mon Sep 17 00:00:00 2001 From: PerchunPak Date: Wed, 27 Nov 2024 17:04:12 +0100 Subject: [PATCH 3/3] vimPlugins.{spacevim, SpaceVim}: point to top-level `spacevim` instead --- .../editors/vim/plugins/aliases.nix | 2 ++ .../editors/vim/plugins/generated.nix | 24 ------------------- .../editors/vim/plugins/vim-plugin-names | 2 -- 3 files changed, 2 insertions(+), 26 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/aliases.nix b/pkgs/applications/editors/vim/plugins/aliases.nix index cf62982f0c04..299faf7222c7 100644 --- a/pkgs/applications/editors/vim/plugins/aliases.nix +++ b/pkgs/applications/editors/vim/plugins/aliases.nix @@ -45,6 +45,8 @@ mapAliases (with prev; { coffeeScript = vim-coffee-script; # backwards compat, added 2014-10-18 Solarized = vim-colors-solarized; solarized = vim-colors-solarized; + spacevim = throw "this distribution was unmaintained for the last 6 years, please use top-level 'spacevim'"; # added 2024-11-27 + SpaceVim = throw "this distribution didn't work properly in vimPlugins, please use top-level 'spacevim' instead"; # added 2024-11-27 colors-solarized = vim-colors-solarized; caw = caw-vim; chad = chadtree; diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 7ff10d1b4d68..385f1050b1bc 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -411,18 +411,6 @@ final: prev: meta.homepage = "https://github.com/jaredgorski/SpaceCamp/"; }; - SpaceVim = buildVimPlugin { - pname = "SpaceVim"; - version = "2024-11-05"; - src = fetchFromGitHub { - owner = "SpaceVim"; - repo = "SpaceVim"; - rev = "08719ccab2073b4c12f2c6b318eba63b87e35180"; - sha256 = "0fr7vhs5gi054nn9z3hqcgf4y3w7nx00d94f7nd9g2jg7x2zzfyp"; - }; - meta.homepage = "https://github.com/SpaceVim/SpaceVim/"; - }; - SudoEdit-vim = buildVimPlugin { pname = "SudoEdit.vim"; version = "2023-04-25"; @@ -11470,18 +11458,6 @@ final: prev: meta.homepage = "https://github.com/FireIsGood/spaceman.nvim/"; }; - spacevim = buildVimPlugin { - pname = "spacevim"; - version = "2018-03-29"; - src = fetchFromGitHub { - owner = "ctjhoa"; - repo = "spacevim"; - rev = "30142a518ba77feb22791b5cb2387d88b70c58f2"; - sha256 = "0m389cnpg17ca8s7vb9yrs40sxb56zg32lcpilnd63zfi7awgscg"; - }; - meta.homepage = "https://github.com/ctjhoa/spacevim/"; - }; - sparkup = buildVimPlugin { pname = "sparkup"; version = "2012-06-11"; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 08d8a46ab67a..3fe82d7b813f 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -33,7 +33,6 @@ https://github.com/vim-scripts/ShowMultiBase/,, https://github.com/tmhedberg/SimpylFold/,, https://github.com/vim-scripts/SmartCase/,, https://github.com/jaredgorski/SpaceCamp/,, -https://github.com/SpaceVim/SpaceVim/,, https://github.com/chrisbra/SudoEdit.vim/,, https://github.com/hsitz/VimOrganizer/,, https://github.com/VundleVim/Vundle.vim/,, @@ -953,7 +952,6 @@ https://github.com/sQVe/sort.nvim/,HEAD, https://github.com/chikatoike/sourcemap.vim/,, https://github.com/liuchengxu/space-vim/,, https://github.com/FireIsGood/spaceman.nvim/,HEAD, -https://github.com/ctjhoa/spacevim/,, https://github.com/chrisgeo/sparkup/,, https://github.com/cxwx/specs.nvim/,HEAD, https://github.com/lewis6991/spellsitter.nvim/,HEAD,