diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 27a617661a66..0bdd6a0d9575 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -23266,19 +23266,6 @@ final: prev: { meta.hydraPlatforms = [ ]; }; - windsurf-nvim = buildVimPlugin { - pname = "windsurf.nvim"; - version = "0-unstable-2025-04-30"; - src = fetchFromGitHub { - owner = "Exafunction"; - repo = "windsurf.nvim"; - rev = "821b570b526dbb05b57aa4ded578b709a704a38a"; - hash = "sha256-TWezce2+XrkzaiW/V3VgfX3FMdS8qFE8/FfPEK/Ii84="; - }; - meta.homepage = "https://github.com/Exafunction/windsurf.nvim/"; - meta.hydraPlatforms = [ ]; - }; - windsurf-vim = buildVimPlugin { pname = "windsurf.vim"; version = "1.20.8-unstable-2026-01-22"; diff --git a/pkgs/applications/editors/vim/plugins/non-generated/windsurf-nvim/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/windsurf-nvim/default.nix new file mode 100644 index 000000000000..ca8b0fec8b1c --- /dev/null +++ b/pkgs/applications/editors/vim/plugins/non-generated/windsurf-nvim/default.nix @@ -0,0 +1,106 @@ +{ + lib, + codeium, + fetchFromGitHub, + fetchurl, + jq, + stdenv, + vimPlugins, + vimUtils, +}: +let + # Update according to https://github.com/Exafunction/codeium.nvim/blob/main/lua/codeium/versions.json + codeiumVersion = "1.20.9"; + codeiumHashes = { + x86_64-linux = "sha256-IeNK7UQtOhqC/eQv7MAya4jB1WIGykSR7IgutZatmHM="; + aarch64-linux = "sha256-ujTFki/3V79El2WCkG0PJhbaMT0knC9mrS9E7Uv9HD4="; + x86_64-darwin = "sha256-r2KloEQsUku9sk8h76kwyQuMTHcq/vwfTSK2dkiXDzE="; + aarch64-darwin = "sha256-1jNH0Up8mAahDgvPF6g42LV+RVDVsPqDM54lE2KYY48="; + }; + + codeium' = codeium.overrideAttrs rec { + version = codeiumVersion; + + src = + let + inherit (stdenv.hostPlatform) system; + throwSystem = throw "Unsupported system: ${system}"; + + platform = + { + x86_64-linux = "linux_x64"; + aarch64-linux = "linux_arm"; + x86_64-darwin = "macos_x64"; + aarch64-darwin = "macos_arm"; + } + .${system} or throwSystem; + + hash = codeiumHashes.${system} or throwSystem; + in + fetchurl { + name = "codeium-${version}.gz"; + url = "https://github.com/Exafunction/codeium/releases/download/language-server-v${version}/language_server_${platform}.gz"; + inherit hash; + }; + }; +in +vimUtils.buildVimPlugin { + pname = "windsurf.nvim"; + version = "0-unstable-2025-04-30"; + src = fetchFromGitHub { + owner = "Exafunction"; + repo = "windsurf.nvim"; + rev = "821b570b526dbb05b57aa4ded578b709a704a38a"; + hash = "sha256-TWezce2+XrkzaiW/V3VgfX3FMdS8qFE8/FfPEK/Ii84="; + }; + + dependencies = [ vimPlugins.plenary-nvim ]; + buildPhase = '' + cat << EOF > lua/codeium/installation_defaults.lua + return { + tools = { + language_server = "${codeium'}/bin/codeium_language_server" + }; + }; + EOF + ''; + + doCheck = true; + checkInputs = [ + jq + codeium' + ]; + checkPhase = '' + runHook preCheck + + expected_codeium_version=$(jq -r '.version' lua/codeium/versions.json) + actual_codeium_version=$(codeium_language_server --version) + + expected_codeium_stamp=$(jq -r '.stamp' lua/codeium/versions.json) + actual_codeium_stamp=$(codeium_language_server --stamp | grep STABLE_BUILD_SCM_REVISION | cut -d' ' -f2) + + if [ "$actual_codeium_stamp" != "$expected_codeium_stamp" ]; then + echo " + The version of codeium patched in vimPlugins.codeium-nvim is incorrect. + Expected stamp: $expected_codeium_stamp + Actual stamp: $actual_codeium_stamp + + Expected codeium version: $expected_codeium_version + Actual codeium version: $actual_codeium_version + + Please, update 'codeiumVersion' in pkgs/applications/editors/vim/plugins/overrides.nix accordingly to: + https://github.com/Exafunction/codeium.nvim/blob/main/lua/codeium/versions.json + " + exit 1 + fi + + runHook postCheck + ''; + + meta = { + description = "Native neovim extension for Codeium"; + homepage = "https://github.com/Exafunction/windsurf.nvim"; + license = lib.licenses.mit; + platforms = lib.attrNames codeiumHashes; + }; +} diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index c79da53f66fe..c2cf81fbdfcd 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -735,89 +735,6 @@ assertNoAdditions { nvimSkipModules = [ "codesettings.build.cli" ]; }; - windsurf-nvim = - let - # Update according to https://github.com/Exafunction/codeium.nvim/blob/main/lua/codeium/versions.json - codeiumVersion = "1.20.9"; - codeiumHashes = { - x86_64-linux = "sha256-IeNK7UQtOhqC/eQv7MAya4jB1WIGykSR7IgutZatmHM="; - aarch64-linux = "sha256-ujTFki/3V79El2WCkG0PJhbaMT0knC9mrS9E7Uv9HD4="; - x86_64-darwin = "sha256-r2KloEQsUku9sk8h76kwyQuMTHcq/vwfTSK2dkiXDzE="; - aarch64-darwin = "sha256-1jNH0Up8mAahDgvPF6g42LV+RVDVsPqDM54lE2KYY48="; - }; - - codeium' = codeium.overrideAttrs rec { - version = codeiumVersion; - - src = - let - inherit (stdenv.hostPlatform) system; - throwSystem = throw "Unsupported system: ${system}"; - - platform = - { - x86_64-linux = "linux_x64"; - aarch64-linux = "linux_arm"; - x86_64-darwin = "macos_x64"; - aarch64-darwin = "macos_arm"; - } - .${system} or throwSystem; - - hash = codeiumHashes.${system} or throwSystem; - in - fetchurl { - name = "codeium-${version}.gz"; - url = "https://github.com/Exafunction/codeium/releases/download/language-server-v${version}/language_server_${platform}.gz"; - inherit hash; - }; - }; - - in - super.windsurf-nvim.overrideAttrs { - dependencies = [ self.plenary-nvim ]; - buildPhase = '' - cat << EOF > lua/codeium/installation_defaults.lua - return { - tools = { - language_server = "${codeium'}/bin/codeium_language_server" - }; - }; - EOF - ''; - - doCheck = true; - checkInputs = [ - jq - codeium' - ]; - checkPhase = '' - runHook preCheck - - expected_codeium_version=$(jq -r '.version' lua/codeium/versions.json) - actual_codeium_version=$(codeium_language_server --version) - - expected_codeium_stamp=$(jq -r '.stamp' lua/codeium/versions.json) - actual_codeium_stamp=$(codeium_language_server --stamp | grep STABLE_BUILD_SCM_REVISION | cut -d' ' -f2) - - if [ "$actual_codeium_stamp" != "$expected_codeium_stamp" ]; then - echo " - The version of codeium patched in vimPlugins.codeium-nvim is incorrect. - Expected stamp: $expected_codeium_stamp - Actual stamp: $actual_codeium_stamp - - Expected codeium version: $expected_codeium_version - Actual codeium version: $actual_codeium_version - - Please, update 'codeiumVersion' in pkgs/applications/editors/vim/plugins/overrides.nix accordingly to: - https://github.com/Exafunction/codeium.nvim/blob/main/lua/codeium/versions.json - " - exit 1 - fi - - runHook postCheck - ''; - }; - codewindow-nvim = super.codewindow-nvim.overrideAttrs { dependencies = [ self.nvim-treesitter-legacy ]; }; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 417b027b2b73..a8bb5fbf3787 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -1787,7 +1787,6 @@ https://github.com/SUSTech-data/wildfire.nvim/,HEAD, https://github.com/gcmt/wildfire.vim/,, https://github.com/fgheng/winbar.nvim/,main, https://github.com/anuvyklack/windows.nvim/,, -https://github.com/Exafunction/windsurf.nvim/,HEAD, https://github.com/Exafunction/windsurf.vim/,HEAD, https://github.com/sindrets/winshift.nvim/,, https://github.com/wannesm/wmgraphviz.vim/,,