Unverified Commit 209272d4 authored by Gaétan Lepage's avatar Gaétan Lepage Committed by GitHub
Browse files

vimPlugins.avante-nvim: Init at 2024-09-15 (#339921)

parents da3e9f8b 2f227e4f
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -351,6 +351,12 @@
    githubId = 22131756;
    name = "Aaqa Ishtyaq";
  };
  aarnphm = {
    email = "contact@aarnphm.xyz";
    github = "aarnphm";
    githubId = 29749331;
    name = "Aaron Pham";
  };
  aaronarinder = {
    email = "aaronarinder@gmail.com";
    github = "aaronArinder";
@@ -21504,6 +21510,12 @@
    githubId = 4044033;
    name = "Thomas Sowell";
  };
  ttrei = {
    email = "reinis.taukulis@gmail.com";
    github = "ttrei";
    githubId = 27609929;
    name = "Reinis Taukulis";
  };
  ttuegel = {
    email = "ttuegel@mailbox.org";
    github = "ttuegel";
+1638 −0

File added.

Preview size limit exceeded, changes collapsed.

+75 −0
Original line number Diff line number Diff line
{
  lib,
  rustPlatform,
  fetchFromGitHub,
  pkg-config,
  openssl,
  stdenv,
  vimUtils,
  darwin,
}:

let
  version = "2024-09-15";

  src = fetchFromGitHub {
    owner = "yetone";
    repo = "avante.nvim";
    rev = "f9520c4fdfed08e9cc609d6cd319b358e4ea33a5";
    hash = "sha256-8zTDGPnhNI2rQA0uJc8gQRj4JCyg+IkO/D3oHYy4f9U=";
  };

  meta = with lib; {
    description = "Neovim plugin designed to emulate the behaviour of the Cursor AI IDE";
    homepage = "https://github.com/yetone/avante.nvim";
    license = licenses.asl20;
    maintainers = with lib.maintainers; [
      ttrei
      aarnphm
    ];
  };

  avante-nvim-lib = rustPlatform.buildRustPackage {
    pname = "avante-nvim-lib";
    inherit version src meta;
    cargoLock = {
      lockFile = ./Cargo.lock;
      outputHashes = {
        "mlua-0.10.0-beta.1" = "sha256-ZEZFATVldwj0pmlmi0s5VT0eABA15qKhgjmganrhGBY=";
      };
    };

    nativeBuildInputs = [
      pkg-config
    ];

    buildInputs =
      [
        openssl
      ]
      ++ lib.optionals stdenv.isDarwin [
        darwin.apple_sdk.frameworks.Security
      ];

    buildFeatures = [ "luajit" ];
  };
in

vimUtils.buildVimPlugin {
  pname = "avante.nvim";
  inherit version src meta;

  postInstall =
    let
      ext = stdenv.hostPlatform.extensions.sharedLibrary;
    in
    ''
      mkdir -p $out/build
      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;
  # TODO: enable after https://github.com/NixOS/nixpkgs/pull/342240 merged
  # nvimRequireCheck = "avante";
}
+8 −0
Original line number Diff line number Diff line
@@ -154,6 +154,14 @@
    dependencies = with super; [ plenary-nvim ];
  };

  avante-nvim = (callPackage ./avante-nvim { }).overrideAttrs {
    dependencies = with self; [
      dressing-nvim
      nui-nvim
      plenary-nvim
    ];
  };

  barbecue-nvim = super.barbecue-nvim.overrideAttrs {
    dependencies = with self; [ nvim-lspconfig nvim-navic nvim-web-devicons ];
    meta = {