From 2440ed40195285a352a12d87958b7b3bcc727a32 Mon Sep 17 00:00:00 2001 From: PerchunPak Date: Tue, 10 Dec 2024 19:05:50 +0100 Subject: [PATCH] vimPlugins.avante-nvim: move out to separate directory Similarly to `vimPlugins.blink-cmp`. This is done to remove manual intervention in vimPlugins update process. --- .../vim/plugins/avante-nvim/default.nix | 87 +++++++++++++++++++ .../editors/vim/plugins/generated.nix | 12 --- .../editors/vim/plugins/overrides.nix | 61 +------------ .../editors/vim/plugins/vim-plugin-names | 1 - 4 files changed, 88 insertions(+), 73 deletions(-) create mode 100644 pkgs/applications/editors/vim/plugins/avante-nvim/default.nix diff --git a/pkgs/applications/editors/vim/plugins/avante-nvim/default.nix b/pkgs/applications/editors/vim/plugins/avante-nvim/default.nix new file mode 100644 index 000000000000..cdb819e0fc73 --- /dev/null +++ b/pkgs/applications/editors/vim/plugins/avante-nvim/default.nix @@ -0,0 +1,87 @@ +{ + lib, + fetchFromGitHub, + nix-update-script, + openssl, + pkg-config, + rustPlatform, + stdenv, + vimPlugins, + vimUtils, +}: +let + version = "0.0.12"; + src = fetchFromGitHub { + owner = "yetone"; + repo = "avante.nvim"; + tag = "v${version}"; + hash = "sha256-yFHX9WCdTBtFZ2Yhy542Rg9nyIu6IWyRjKkS+ojZsdM="; + }; + avante-nvim-lib = rustPlatform.buildRustPackage { + pname = "avante-nvim-lib"; + inherit version src; + + cargoHash = "sha256-n0+UT9wYnmPDOX2LKWztURqYLy2oa8sUeQLycR3/Zr0="; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + openssl + ]; + + buildFeatures = [ "luajit" ]; + + checkFlags = [ + # Disabled because they access the network. + "--skip=test_hf" + "--skip=test_public_url" + "--skip=test_roundtrip" + ]; + }; +in +vimUtils.buildVimPlugin { + pname = "avante-nvim"; + inherit version src; + + dependencies = with vimPlugins; [ + dressing-nvim + nui-nvim + nvim-treesitter + plenary-nvim + ]; + + postInstall = + let + ext = stdenv.hostPlatform.extensions.sharedLibrary; + in + '' + mkdir -p $out/build + ln -s ${avante-nvim-lib}/lib/libavante_repo_map${ext} $out/build/avante_repo_map${ext} + ln -s ${avante-nvim-lib}/lib/libavante_templates${ext} $out/build/avante_templates${ext} + ln -s ${avante-nvim-lib}/lib/libavante_tokenizers${ext} $out/build/avante_tokenizers${ext} + ''; + + passthru = { + updateScript = nix-update-script { + attrPath = "vimPlugins.avante-nvim.avante-nvim-lib"; + }; + + # needed for the update script + inherit avante-nvim-lib; + }; + + doInstallCheck = true; + nvimRequireCheck = "avante"; + + meta = { + description = "Neovim plugin designed to emulate the behaviour of the Cursor AI IDE"; + homepage = "https://github.com/yetone/avante.nvim"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ + ttrei + aarnphm + ]; + }; +} diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index a0201813fcb8..8f5c998f7c81 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -1025,18 +1025,6 @@ final: prev: meta.homepage = "https://github.com/nullishamy/autosave.nvim/"; }; - avante-nvim = buildVimPlugin { - pname = "avante.nvim"; - version = "2024-12-05"; - src = fetchFromGitHub { - owner = "yetone"; - repo = "avante.nvim"; - rev = "4464b7f4ae26254cd506a354284a02129941e244"; - sha256 = "0h1l3d332hh3gbdwydmm5wpswfzcl7w9j0bx6g6xnazya5cpzc3s"; - }; - meta.homepage = "https://github.com/yetone/avante.nvim/"; - }; - aw-watcher-vim = buildVimPlugin { pname = "aw-watcher-vim"; version = "2023-10-09"; diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index ddfcda30ae62..465d3dd7b588 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -197,66 +197,7 @@ in ]; }; - avante-nvim = super.avante-nvim.overrideAttrs ( - oldAttrs: - let - avante-nvim-lib = rustPlatform.buildRustPackage { - pname = "avante-nvim-lib"; - inherit (oldAttrs) version src; - - cargoHash = "sha256-kbgJlvYtL69i6br5jQ9QiCXEQuOWiHRDFWAofyKJb2s="; - - nativeBuildInputs = [ - pkg-config - ]; - - buildInputs = [ - openssl - ]; - - buildFeatures = [ "luajit" ]; - - checkFlags = [ - # Disabled because they access the network. - "--skip=test_hf" - "--skip=test_public_url" - "--skip=test_roundtrip" - ]; - }; - in - { - dependencies = with self; [ - dressing-nvim - nui-nvim - nvim-treesitter - plenary-nvim - ]; - - postInstall = - let - ext = stdenv.hostPlatform.extensions.sharedLibrary; - in - '' - mkdir -p $out/build - ln -s ${avante-nvim-lib}/lib/libavante_repo_map${ext} $out/build/avante_repo_map${ext} - ln -s ${avante-nvim-lib}/lib/libavante_templates${ext} $out/build/avante_templates${ext} - ln -s ${avante-nvim-lib}/lib/libavante_tokenizers${ext} $out/build/avante_tokenizers${ext} - ''; - - doInstallCheck = true; - nvimRequireCheck = "avante"; - - meta = { - description = "Neovim plugin designed to emulate the behaviour of the Cursor AI IDE"; - homepage = "https://github.com/yetone/avante.nvim"; - license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ - ttrei - aarnphm - ]; - }; - } - ); + avante-nvim = callPackage ./avante-nvim { }; aw-watcher-vim = super.aw-watcher-vim.overrideAttrs { patches = [ diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index d1abe9f7735c..c09a939083c2 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -84,7 +84,6 @@ https://github.com/m4xshen/autoclose.nvim/,HEAD, https://github.com/gaoDean/autolist.nvim/,, https://github.com/vim-scripts/autoload_cscope.vim/,, https://github.com/nullishamy/autosave.nvim/,HEAD, -https://github.com/yetone/avante.nvim/,HEAD, https://github.com/rafi/awesome-vim-colorschemes/,, https://github.com/AhmedAbdulrahman/aylin.vim/,, https://github.com/ayu-theme/ayu-vim/,,