blink: expose blink package

This commit is contained in:
Ching Pei Yang 2025-01-01 10:47:42 +01:00
parent 18e4810a86
commit e7cdd3c8a4
No known key found for this signature in database
GPG key ID: B3841364253DC4C8
2 changed files with 45 additions and 0 deletions

View file

@ -6,6 +6,7 @@
...
}: let
docs = import ../docs {inherit pkgs inputs lib;};
pluginVersion = input: input.shortRev or input.shortDirtyRev or "dirty";
in {
packages = {
inherit (docs.manual) htmlOpenTool;
@ -66,6 +67,12 @@
Volumes = {"/home/neovim/demo" = {};};
};
};
# Plugins that need a compile step
blink-cmp = pkgs.callPackage ./packages/blink-cmp.nix {
src = inputs.plugin-blink-cmp;
version = pluginVersion inputs.plugin-blink-cmp;
};
};
};
}

View file

@ -0,0 +1,38 @@
{
rustPlatform,
hostPlatform,
src,
version,
vimUtils,
}: {
blink-cmp = let
inherit version src;
blink-fuzzy-lib = rustPlatform.buildRustPackage {
pname = "blink-fuzzy-lib";
inherit version src;
env = {
# TODO: remove this if plugin stops using nightly rust
RUSTC_BOOTSTRAP = true;
};
cargoLock = {
lockFile = "${src}/Cargo.lock";
outputHashes = {
"frizbee-0.1.0" = "sha256-pt6sMsRyjXrbrTK7t/YvWeen/n3nU8UUaiNYTY1LczE=";
};
};
};
libExt =
if hostPlatform.isDarwin
then "dylib"
else "so";
in
vimUtils.buildVimPlugin {
pname = "blink-cmp";
inherit version src;
preInstall = ''
mkdir -p target/release
ln -s ${blink-fuzzy-lib}/lib/libblink_cmp_fuzzy.${libExt} target/release/libblink_cmp_fuzzy.${libExt}
'';
};
}