{ programs.nixvim = { plugins = { blink-compat.enable = true; blink-cmp = { enable = true; settings = { keymap = { preset = "none"; "" = [ "show" "show_documentation" "hide_documentation" ]; "" = [ "cancel" "fallback" ]; "" = [ "accept" "fallback" ]; "" = [ "snippet_forward" "fallback" ]; "" = [ "snippet_backward" "fallback" ]; "" = [ "select_next" "fallback" ]; "" = [ "select_prev" "fallback" ]; "" = [ "select_prev" "fallback" ]; "" = [ "select_next" "fallback" ]; "" = [ "scroll_documentation_up" "fallback" ]; "" = [ "scroll_documentation_down" "fallback" ]; }; appearance = { use_nvim_cmp_as_default = true; nerd_font_variant = "mono"; }; sources = { default = [ "lsp" "path" "snippets" "emoji" "buffer" ]; providers = { emoji = { name = "emoji"; module = "blink.compat.source"; }; }; }; signature.enabled = true; completion = { list.selection = { preselect = false; auto_insert = true; }; documentation.auto_show = true; }; }; }; cmp-emoji.enable = true; lsp.capabilities = # lua '' capabilities = require('blink.cmp').get_lsp_capabilities(capabilities) ''; }; }; }