local fn = vim.fn -- Automatically install packer 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, }) print("Installing packer close and reopen NeoVIM...") 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 ]]) -- Use a protected call so we don't error out on first use local status_ok, packer = pcall(require, "packer") if not status_ok then return end -- Have packer use a popup window packer.init({ display = { open_fn = function() return require("packer.util").float({ border = "rounded" }) end, }, }) -- Install plugins here return packer.startup(function(use) use { "wbthomason/packer.nvim" } use { "nvim-lua/plenary.nvim" } use { "windwp/nvim-autopairs" } use { "numToStr/Comment.nvim" } use { "JoosepAlviste/nvim-ts-context-commentstring" } use { "kyazdani42/nvim-web-devicons" } use { "kyazdani42/nvim-tree.lua" } use { "akinsho/bufferline.nvim" } use { "moll/vim-bbye" } use { "nvim-lualine/lualine.nvim" } use { "akinsho/toggleterm.nvim" } use { "ahmedkhalf/project.nvim" } use { "lewis6991/impatient.nvim" } use { "lukas-reineke/indent-blankline.nvim" } use { "goolord/alpha-nvim" } use { "folke/which-key.nvim" } use { "karb94/neoscroll.nvim" } -- Colorschemes use { "folke/tokyonight.nvim" } use { "lunarvim/darkplus.nvim" } use { "navarasu/onedark.nvim" } use { "Mofiqul/dracula.nvim" } -- cmp use { "hrsh7th/nvim-cmp" } use { "hrsh7th/cmp-buffer" } use { "hrsh7th/cmp-path" } use { "saadparwaiz1/cmp_luasnip" } use { "hrsh7th/cmp-nvim-lsp" } use { "hrsh7th/cmp-nvim-lua" } -- Snippets use { "L3MON4D3/LuaSnip" } use { "rafamadriz/friendly-snippets" } -- LSP use { "neovim/nvim-lspconfig" } use { "williamboman/mason.nvim" } use { "williamboman/mason-lspconfig.nvim" } use { "jose-elias-alvarez/null-ls.nvim" } use { "RRethy/vim-illuminate" } -- Telescope use { "nvim-telescope/telescope.nvim" } -- Treesitter use { "nvim-treesitter/nvim-treesitter" } -- Git use { "lewis6991/gitsigns.nvim" } --Automatically setup configuration after cleaning packer.nvim if PACKER_BOOTSTRAP then require("packer").sync() end end)