{ pkgs, ... }: { programs.neovim = { plugins = with pkgs.vimPlugins; [ { plugin = telescope-nvim; type = "lua"; config = '' local telescope = require('telescope') telescope.setup { extensions = { coc = { theme = 'ivy', prefer_locations = true, -- always use Telescope locations to preview definitions/declarations/implementations etc } }, } telescope.load_extension('hoogle') telescope.load_extension('coc') function map (mode, shortcut, command) vim.api.nvim_set_keymap(mode, shortcut, command, { noremap = true, silent = true }) end map('n', "ff", ":Telescope find_files") map('n', "fg", ":Telescope live_grep") map('n', "fb", ":Telescope buffers") map('n', "fH", ":Telescope help_tags") map('n', "fd", ":Telescope lsp_definitions") map('n', "fs", ":Telescope lsp_document_symbols") map('n', "fS", ":Telescope lsp_workspace_symbols") map('n', "fh", ":Telescope hoogle") ''; } telescope-coc-nvim telescope_hoogle plenary-nvim ]; }; }