mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-09-06 02:11:33 +00:00
refactor: nuke legacyPackages and overlays
rework blink-cmp package
This commit is contained in:
parent
5f5aff2d46
commit
9feb71594d
14 changed files with 59 additions and 122 deletions
31
flake/blink/default.nix
Normal file
31
flake/blink/default.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
writeShellScriptBin,
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "blink-cmp";
|
||||
version = "1.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Saghen";
|
||||
repo = "blink.cmp";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-bKe8SSg1HPWE7b4iRQJwiOVCrvvgttuHCOIa4U/38AY=";
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
cp -r {lua,plugin} "$out"
|
||||
mkdir -p "$out/target"
|
||||
mv "$out/lib" "$out/target/release"
|
||||
'';
|
||||
|
||||
cargoHash = "sha256-IDoDugtNWQovfSstbVMkKHLBXKa06lxRWmywu4zyS3M=";
|
||||
useFetchCargoVendor = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
(writeShellScriptBin "git" "exit 1")
|
||||
];
|
||||
|
||||
env.RUSTC_BOOTSTRAP = true;
|
||||
})
|
|
@ -3,13 +3,14 @@
|
|||
pkgs,
|
||||
config,
|
||||
self',
|
||||
inputs',
|
||||
...
|
||||
}: {
|
||||
devShells = {
|
||||
default = self'.devShells.lsp;
|
||||
nvim-nix = pkgs.mkShellNoCC {packages = [config.packages.nix];};
|
||||
lsp = pkgs.mkShellNoCC {
|
||||
packages = with pkgs; [nil statix deadnix alejandra npins];
|
||||
packages = with pkgs; [inputs'.nil.packages.default statix deadnix alejandra npins];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
{
|
||||
inputs,
|
||||
self,
|
||||
...
|
||||
}: {
|
||||
perSystem = {
|
||||
system,
|
||||
inputs',
|
||||
...
|
||||
}: {
|
||||
legacyPackages = import inputs.nixpkgs {
|
||||
inherit system;
|
||||
overlays = [
|
||||
inputs.self.overlays.default
|
||||
|
||||
(final: prev: {
|
||||
# Build nil from source to get most recent
|
||||
# features as they are added.
|
||||
nil = inputs'.nil.packages.default;
|
||||
blink-cmp = let
|
||||
pin = self.pins.blink-cmp;
|
||||
in
|
||||
final.callPackage ./legacyPackages/blink-cmp.nix {
|
||||
inherit (pin) version;
|
||||
src = prev.fetchFromGitHub {
|
||||
inherit (pin.repository) owner repo;
|
||||
rev = pin.revision;
|
||||
sha256 = pin.hash;
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,37 +0,0 @@
|
|||
{
|
||||
stdenv,
|
||||
rustPlatform,
|
||||
vimUtils,
|
||||
gitMinimal,
|
||||
src,
|
||||
version,
|
||||
}: let
|
||||
blink-fuzzy-lib = rustPlatform.buildRustPackage {
|
||||
pname = "blink-fuzzy-lib";
|
||||
inherit version src;
|
||||
|
||||
# TODO: remove this if plugin stops using nightly rust
|
||||
env.RUSTC_BOOTSTRAP = true;
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-IDoDugtNWQovfSstbVMkKHLBXKa06lxRWmywu4zyS3M=";
|
||||
|
||||
nativeBuildInputs = [gitMinimal];
|
||||
};
|
||||
in
|
||||
vimUtils.buildVimPlugin {
|
||||
pname = "blink-cmp";
|
||||
inherit version src;
|
||||
|
||||
# blink references a repro.lua which is placed outside the lua/ directory
|
||||
doCheck = false;
|
||||
preInstall = let
|
||||
ext = stdenv.hostPlatform.extensions.sharedLibrary;
|
||||
in ''
|
||||
mkdir -p target/release
|
||||
ln -s ${blink-fuzzy-lib}/lib/libblink_cmp_fuzzy${ext} target/release/libblink_cmp_fuzzy${ext}
|
||||
'';
|
||||
|
||||
# Module for reproducing issues
|
||||
nvimSkipModules = ["repro"];
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.nvim) neovimConfiguration;
|
||||
|
||||
buildPkg = pkgs: modules: (neovimConfiguration {inherit pkgs modules;}).neovim;
|
||||
|
||||
nixConfig = import ../configuration.nix false;
|
||||
maximalConfig = import ../configuration.nix true;
|
||||
in {
|
||||
flake.overlays.default = final: _prev: {
|
||||
inherit neovimConfiguration;
|
||||
neovim-nix = buildPkg final [nixConfig];
|
||||
neovim-maximal = buildPkg final [maximalConfig];
|
||||
devPkg = buildPkg pkgs [nixConfig {config.vim.languages.html.enable = pkgs.lib.mkForce true;}];
|
||||
};
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
{inputs, ...}: {
|
||||
{inputs, ...} @ args: {
|
||||
perSystem = {
|
||||
config,
|
||||
pkgs,
|
||||
|
@ -6,8 +6,15 @@
|
|||
...
|
||||
}: let
|
||||
docs = import ../docs {inherit pkgs inputs lib;};
|
||||
buildPkg = maximal:
|
||||
(args.config.flake.lib.nvim.neovimConfiguration {
|
||||
inherit pkgs;
|
||||
modules = [(import ../configuration.nix maximal)];
|
||||
}).neovim;
|
||||
in {
|
||||
packages = {
|
||||
blink-cmp = pkgs.callPackage ./blink {};
|
||||
|
||||
inherit (docs.manual) htmlOpenTool;
|
||||
# Documentation
|
||||
docs = docs.manual.html;
|
||||
|
@ -61,9 +68,9 @@
|
|||
'';
|
||||
|
||||
# Exposed neovim configurations
|
||||
nix = config.legacyPackages.neovim-nix;
|
||||
maximal = config.legacyPackages.neovim-maximal;
|
||||
default = config.legacyPackages.neovim-nix;
|
||||
nix = buildPkg false;
|
||||
maximal = buildPkg true;
|
||||
default = config.packages.nix;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue