{ ... }: { programs.nixvim.plugins = { cmp = { enable = true; settings = { autoEnableSources = true; experimental = {ghost_text = false;}; performance = { debounce = 60; fetchingTimeout = 200; maxViewEntries = 30; }; snippet = {expand = "luasnip";}; formatting = {fields = ["kind" "abbr" "menu"];}; sources = [ {name = "git";} {name = "nvim_lsp";} {name = "emoji";} { name = "buffer"; # text within current buffer option.get_bufnrs.__raw = "vim.api.nvim_list_bufs"; keywordLength = 3; } { name = "path"; # file system paths keywordLength = 3; } { name = "luasnip"; # snippets keywordLength = 3; } ]; window = { completion = {border = "solid";}; documentation = {border = "solid";}; }; }; }; cmp-nvim-lsp = {enable = true;}; # lsp cmp-buffer = {enable = true;}; cmp-path = {enable = true;}; # file system paths cmp_luasnip = {enable = true;}; # snippets cmp-cmdline = {enable = false;}; # autocomplete for cmdline }; }