79 lines
1.6 KiB
Nix
79 lines
1.6 KiB
Nix
{
|
|
lib,
|
|
fetchFromGitHub,
|
|
nix-update-script,
|
|
openssl,
|
|
pkg-config,
|
|
rustPlatform,
|
|
vimPlugins,
|
|
vimUtils,
|
|
}:
|
|
let
|
|
version = "1.1.0-unstable-2025-01-21";
|
|
src = fetchFromGitHub {
|
|
owner = "sourcegraph";
|
|
repo = "sg.nvim";
|
|
rev = "775f22b75a9826eabf69b0094dd1d51d619fe552";
|
|
hash = "sha256-i5g+pzxB8pAORLbr1wlYWUTsrJJmVj9UwlCg8pU3Suw=";
|
|
};
|
|
|
|
sg-nvim-rust = rustPlatform.buildRustPackage {
|
|
pname = "sg-nvim-rust";
|
|
inherit version src;
|
|
|
|
cargoHash = "sha256-yY/5w2ztmTKJAYDxBJND8itCOwRNi1negiFq3PyFaSM=";
|
|
|
|
nativeBuildInputs = [ pkg-config ];
|
|
|
|
buildInputs = [ openssl ];
|
|
|
|
prePatch = ''
|
|
rm .cargo/config.toml
|
|
'';
|
|
|
|
env.OPENSSL_NO_VENDOR = true;
|
|
|
|
cargoBuildFlags = [ "--workspace" ];
|
|
|
|
# tests are broken
|
|
doCheck = false;
|
|
};
|
|
in
|
|
vimUtils.buildVimPlugin {
|
|
pname = "sg.nvim";
|
|
inherit version src;
|
|
|
|
checkInputs = with vimPlugins; [
|
|
telescope-nvim
|
|
nvim-cmp
|
|
];
|
|
|
|
dependencies = [ vimPlugins.plenary-nvim ];
|
|
|
|
postInstall = ''
|
|
mkdir -p $out/target/debug
|
|
ln -s ${sg-nvim-rust}/{bin,lib}/* $out/target/debug
|
|
'';
|
|
|
|
nvimSkipModules = [
|
|
# Dependent on active fuzzy search state
|
|
"sg.cody.fuzzy"
|
|
];
|
|
|
|
passthru = {
|
|
updateScript = nix-update-script {
|
|
extraArgs = [ "--version=branch" ];
|
|
attrPath = "vimPlugins.sg-nvim.sg-nvim-rust";
|
|
};
|
|
|
|
# needed for the update script
|
|
inherit sg-nvim-rust;
|
|
};
|
|
|
|
meta = {
|
|
description = "Neovim plugin designed to emulate the behaviour of the Cursor AI IDE";
|
|
homepage = "https://github.com/sourcegraph/sg.nvim/";
|
|
license = lib.licenses.asl20;
|
|
};
|
|
}
|