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 }) vim.cmd [[packadd packer.nvim]] end -- Autocommand that reloads neovim whenever you save the plugins.lua file vim.cmd([[ augroup packer_user_config autocmd! autocmd BufWritePost plugins.lua source | PackerSync augroup end ]]) local packer_status, packer = pcall(require, "packer") if not packer_status then print("plugins.lua: loading packer failed") return end packer.init { display = { open_fn = function() return require("packer.util").float { border = "rounded" } end, }, } return packer.startup(function(use) -- Packer use "wbthomason/packer.nvim" -- cmp use "hrsh7th/nvim-cmp" use "saadparwaiz1/cmp_luasnip" use "hrsh7th/cmp-nvim-lsp" use "hrsh7th/cmp-buffer" use "hrsh7th/cmp-path" use "hrsh7th/cmp-cmdline" use "hrsh7th/cmp-nvim-lua" use "L3MON4D3/LuaSnip" -- LSP, linters & formatters use "neovim/nvim-lspconfig" use "williamboman/mason.nvim" use "williamboman/mason-lspconfig.nvim" use "nvim-lua/plenary.nvim" use "jose-elias-alvarez/null-ls.nvim" use "jay-babu/mason-null-ls.nvim" -- Colorsheme use "morhetz/gruvbox" -- Other use "windwp/nvim-autopairs" use "kyazdani42/nvim-web-devicons" use "kyazdani42/nvim-tree.lua" use "akinsho/bufferline.nvim" -- Automatically set up your configuration after cloning packer.nvim -- Put this at the end after all plugins if packer_bootstrap then require("packer").sync() end end)