vim.cmd([[ augroup packer_user_config autocmd! autocmd BufWritePost my_plugins.lua source | PackerCompile augroup end ]]) local fn = vim.fn local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim" if fn.empty(fn.glob(install_path)) > 0 then packer_bootstrap = fn.system({ "git", "clone", "--depth", "1", "https://github.com/wbthomason/packer.nvim", install_path, }) end vim.api.nvim_command("packadd packer.nvim") function get_setup(name) return string.format('require("setup/%s")', name) end return require('packer').startup(function() -- Packer can manage itself as an optional plugin use {'wbthomason/packer.nvim'} use {'neovim/nvim-lspconfig'} use { 'nvim-treesitter/nvim-treesitter', run = ':TSUpdate', config = get_setup("treesitter") } use({ 'nvim-telescope/telescope.nvim', requires = { {'nvim-lua/popup.nvim'}, {'nvim-lua/plenary.nvim'}, {'kyazdani42/nvim-web-devicons'}, {'nvim-telescope/telescope-fzf-native.nvim', run = 'make'} }, config = get_setup("telescope"), }) use {'sainnhe/gruvbox-material'} use {'ellisonleao/gruvbox.nvim'} use { 'lukas-reineke/indent-blankline.nvim', config = get_setup("indent_blankline") } use {'nvim-lua/plenary.nvim'} use { 'lewis6991/gitsigns.nvim', config = get_setup("gitsigns") } use { 'kyazdani42/nvim-tree.lua', requires = 'kyazdani42/nvim-web-devicons', config = get_setup("nvim-tree") } use{ 'numToStr/Comment.nvim', config = get_setup("comment") } use { 'hrsh7th/nvim-cmp', requires = { 'hrsh7th/cmp-buffer', 'hrsh7th/cmp-nvim-lsp', 'L3MON4D3/LuaSnip', 'saadparwaiz1/cmp_luasnip', 'hrsh7th/cmp-nvim-lua', 'octaltree/cmp-look', 'hrsh7th/cmp-path', 'hrsh7th/cmp-calc', 'f3fora/cmp-spell', 'hrsh7th/cmp-emoji', 'hrsh7th/cmp-cmdline' }, config = get_setup("cmp") } use {'L3MON4D3/LuaSnip', config = get_setup("luasnip") } use {'rafamadriz/friendly-snippets'} use {'onsails/lspkind-nvim'} use {'Shatur/neovim-cmake', requires = {'mfussenegger/nvim-dap'}, config = get_setup("cmake") } use { 'hoob3rt/lualine.nvim', requires = {'kyazdani42/nvim-web-devicons', opt = true}, config = get_setup("lualine") } use { 'ahmedkhalf/project.nvim', config = get_setup("project") } use {'p00f/nvim-ts-rainbow'} use { 'windwp/nvim-autopairs', config = get_setup("nvim-autopairs") } use {'ray-x/lsp_signature.nvim'} use {'s1n7ax/nvim-terminal'} use { 'williamboman/nvim-lsp-installer', requires = {'neovim/nvim-lspconfig'}, config = get_setup("lspinstall") } use { 'jose-elias-alvarez/null-ls.nvim', requires = {'nvim-lua/plenary.nvim'} } use { 'danymat/neogen', requires = 'nvim-treesitter/nvim-treesitter', config = get_setup("neogen") } use {'abecodes/tabout.nvim'} use {'stevearc/dressing.nvim'} use { 'nvim-treesitter/nvim-treesitter-textobjects', requires = "nvim-treesitter/nvim-treesitter" } use {'mvllow/modes.nvim', config = function() vim.opt.cursorline = true require('modes').setup({ focus_only = true, line_opacity = 0.2, }) end } end)