local fn,api = vim.fn,vim.api local packer_dir = fn.stdpath('data') .. '/site/pack/packer/start/packer.nvim' if fn.empty(fn.glob(packer_dir)) > 0 then fn.system({'git', 'clone', 'https://github.com/wbthomason/packer.nvim', packer_dir}) api.nvim_command('packadd packer.nvim') end local packer = require('packer') local use = packer.use return packer.startup( function(use) use 'wbthomason/packer.nvim' -- UI elements use { 'glepnir/dashboard-nvim', setup = function() require('modules.dashboard') end } use { 'glepnir/galaxyline.nvim', branch = 'main', requires = 'kyazdani42/nvim-web-devicons', config = function() require('modules.statusline') end } use { 'akinsho/nvim-bufferline.lua', config = function() require('modules.bufferline') end } use { 'kyazdani42/nvim-tree.lua', cmd = 'NvimTreeToggle', setup = function() require('modules.nvimtree') end } use { 'folke/which-key.nvim', config = function() require('modules.whichkey') end } -- Utils use { 'akinsho/nvim-toggleterm.lua', config = function() require('modules.terminal') end } -- Git use { 'lewis6991/gitsigns.nvim', requires = 'nvim-lua/plenary.nvim', config = function() require('modules.gitgutter') end } -- Highlighting use { 'norcalli/nvim-colorizer.lua', event = 'BufRead', config = function() require('modules.colorizer') vim.cmd('ColorizerReloadAllBuffers') end } use { 'lukas-reineke/indent-blankline.nvim', config = function() require('modules.blankline') end } use { 'nvim-treesitter/nvim-treesitter', run = ':TSUpdate', event = 'BufRead', config = function() require('modules.treesitter') end } use { 'p00f/nvim-ts-rainbow', after = 'nvim-treesitter', config = function() require('modules.ts-rainbow') end } use { 'romgrk/nvim-treesitter-context', after = 'nvim-treesitter' } -- LSP use { 'neovim/nvim-lspconfig' } use { 'kabouzeid/nvim-lspinstall', after = 'nvim-lspconfig' } -- Editing use { 'terrortylor/nvim-comment', cmd = 'CommentToggle', config = function() require('nvim_comment').setup() end } use { 'windwp/nvim-autopairs', event = 'InsertEnter', config = function() require('nvim-autopairs').setup() end } end )