{ pkgs, inputs, ... }: let nvimLib = pkgs.callPackage ../nix/lib { }; inherit (nvimLib) mkNeovimPlugin; inherit (pkgs) vimPlugins; lsp = with vimPlugins; [ nvim-lspconfig lspkind-nvim nvim-lightbulb neodev-nvim none-ls-nvim ]; cmp = with vimPlugins; [ cmp-buffer cmp-cmdline cmp-nvim-lsp cmp-nvim-lsp-signature-help cmp-path cmp_luasnip friendly-snippets luasnip nvim-cmp ]; telescope = with vimPlugins; [ telescope-dap-nvim telescope-fzf-native-nvim telescope-nvim telescope-ui-select-nvim ]; dap = with vimPlugins; [ nvim-dap nvim-dap-python nvim-dap-ui nvim-dap-virtual-text ]; treesitter = with vimPlugins; [ nvim-treesitter-textobjects nvim-treesitter-textsubjects nvim-treesitter.withAllGrammars ]; neorg-nvim = with vimPlugins; [ neorg neorg-telescope ]; rust = with vimPlugins; [ rustaceanvim crates-nvim ]; go = with vimPlugins; [ nvim-dap-go (mkNeovimPlugin inputs.gopher-nvim "gopher.nvim") ]; general = with vimPlugins; [ catppuccin-nvim gitsigns-nvim indent-blankline-nvim lazygit-nvim lualine-lsp-progress lualine-nvim mini-nvim neo-tree-nvim noice-nvim nvim-colorizer-lua nvim-lastplace nvim-web-devicons rainbow-delimiters-nvim tmux-nvim todo-comments-nvim trouble-nvim undotree vim-table-mode which-key-nvim harpoon (mkNeovimPlugin inputs.leetcode-nvim "leetcode.nvim") (mkNeovimPlugin inputs.competitest-nvim "competitest.nvim") ]; plugins = builtins.concatLists [ general lsp telescope dap treesitter cmp neorg-nvim rust go ]; in plugins