{ pkgs }: let normalizedPluginAttr = p: { "${builtins.replaceStrings [ "-" "." ] [ "_" "_" ] (pkgs.lib.toLower p.pname) }" = p; }; plugins = p: builtins.foldl' (x: y: x // y) { } (map normalizedPluginAttr p); in with pkgs.vimPlugins; plugins [ ChatGPT-nvim FixCursorHold-nvim bufferline-nvim cmp-buffer cmp-cmdline cmp-nvim-lsp cmp-path cmp_luasnip comment-nvim copilot-cmp copilot-lua CopilotChat-nvim diffview-nvim dressing-nvim flit-nvim gitlinker-nvim gitsigns-nvim indent-blankline-nvim lazy-nvim leap-nvim lspkind-nvim lspsaga-nvim lualine-nvim luasnip markdown-preview-nvim neo-tree-nvim neogen neotest neotest-python noice-nvim none-ls-nvim nord-nvim nui-nvim nvim-autopairs nvim-cmp nvim-dap nvim-dap-python nvim-dap-ui nvim-dap-virtual-text nvim-lspconfig nvim-nio nvim-notify nvim-surround nvim-treesitter nvim-web-devicons octo-nvim oil-nvim overseer-nvim plenary-nvim rainbow-delimiters-nvim telescope-nvim todo-comments-nvim trouble-nvim vim-edgemotion vim-illuminate vim-table-mode vim-wakatime which-key-nvim ]