49 lines
1.6 KiB
Nix
49 lines
1.6 KiB
Nix
{ config, lib, ... }:
|
|
|
|
lib.mkIf (lib.elem "nvim::blink" config.machine.pkgs) {
|
|
programs.nvim-lazy.lazyPlugins = [
|
|
{
|
|
dir = vPlug: vPlug.friendly-snippets;
|
|
}
|
|
{
|
|
dir = vPlug: vPlug.blink-cmp;
|
|
dependencies = vPlug: with vPlug; [ friendly-snippets ];
|
|
opts = {
|
|
# 'default' for mappings similar to built-in completion
|
|
# 'super-tab' for mappings similar to vscode (tab to accept, arrow keys to navigate)
|
|
# 'enter' for mappings similar to 'super-tab' but with 'enter' to accept
|
|
# See the full "keymap" documentation for information on defining your own keymap.
|
|
keymap = {
|
|
preset = "default";
|
|
# "[\"<S-Tab>\"]" = [ "select_prev" "fallback" ];
|
|
# "[\"<Tab>\"]" = [ "select_next" "fallback" ];
|
|
};
|
|
appearance = {
|
|
# Sets the fallback highlight groups to nvim-cmp's highlight groups
|
|
# Useful for when your theme doesn't support blink.cmp
|
|
# Will be removed in a future release
|
|
use_nvim_cmp_as_default = true;
|
|
# Set to 'mono' for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
|
|
# Adjusts spacing to ensure icons are aligned
|
|
nerd_font_variant = "mono";
|
|
};
|
|
|
|
fuzzy = {
|
|
implementation = "prefer_rust";
|
|
};
|
|
|
|
# Default list of enabled providers defined so that you can extend it
|
|
# elsewhere in your config, without redefining it, due to `opts_extend`
|
|
sources = {
|
|
default = [
|
|
"lsp"
|
|
"path"
|
|
"snippets"
|
|
"buffer"
|
|
];
|
|
};
|
|
};
|
|
# opts_extend = [ "sources.default" ];
|
|
}
|
|
];
|
|
}
|