local fn = vim.fn local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim" local packer_bootstrap = false 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 local packer = require("packer") packer.init({ display = { open_fn = function() return require("packer.util").float({ border = "rounded" }) end, }, }) return packer.startup(function(use) -- Let packer manage itself use("wbthomason/packer.nvim") use("lewis6991/impatient.nvim") -- General Helper Functions use("nvim-lua/plenary.nvim") -- Theming Section use("rktjmp/fwatch.nvim") -- Used to check dark/light theme use("EdenEast/nightfox.nvim") use("nvim-lualine/lualine.nvim") -- Layout Plugins use("dstein64/nvim-scrollview") -- ScrollBars use("akinsho/nvim-toggleterm.lua") use({ "folke/zen-mode.nvim", config = function() require("zen-mode").setup({}) end, }) use("rcarriga/nvim-notify") use("kyazdani42/nvim-web-devicons") use("kyazdani42/nvim-tree.lua") use("nvim-lua/popup.nvim") use("goolord/alpha-nvim") use({ "terrortylor/nvim-comment", config = function() require("nvim_comment").setup() end, }) use({ "windwp/nvim-autopairs", config = function() require("nvim-autopairs").setup() end, }) use("gfeiyou/command-center.nvim") -- Code Navigation use("junegunn/fzf") use("nvim-telescope/telescope.nvim") -- Lsp Errors use("folke/lsp-colors.nvim") use("kosayoda/nvim-lightbulb") use({ "folke/trouble.nvim", requires = "kyazdani42/nvim-web-devicons", config = function() require("trouble").setup({}) end, }) use({ "https://git.sr.ht/~whynothugo/lsp_lines.nvim", config = function() require("lsp_lines").setup() end, }) -- Syntax / Autocomplete use("tpope/vim-surround") use("neovim/nvim-lspconfig") use("hrsh7th/nvim-cmp") use("onsails/lspkind.nvim") use({ "tzachar/cmp-tabnine", run = "./install.sh", requires = "hrsh7th/nvim-cmp" }) -- use({ "hrsh7th/cmp-copilot", requires = "github/copilot.vim" }) use("hrsh7th/cmp-nvim-lsp") use("hrsh7th/cmp-path") use("hrsh7th/cmp-calc") use("hrsh7th/cmp-buffer") use("hrsh7th/cmp-cmdline") use("rafamadriz/friendly-snippets") use("L3MON4D3/LuaSnip") use("saadparwaiz1/cmp_luasnip") use({ "williamboman/mason.nvim" }) use({ "williamboman/mason-lspconfig.nvim" }) use({ "jose-elias-alvarez/null-ls.nvim" }) use({ "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }) -- Dap Debugger use({ "mfussenegger/nvim-dap" }) use({ "rcarriga/nvim-dap-ui" }) -- More IDE like features use({ "rmagatti/session-lens", requires = { "rmagatti/auto-session", "nvim-telescope/telescope.nvim" }, config = function() require("session-lens").setup({ path_display = { "shorten" } }) end, }) use({ "edluffy/hologram.nvim", config = function() end, }) use({ "nvim-neotest/neotest", requires = { "nvim-lua/plenary.nvim", "nvim-treesitter/nvim-treesitter", "antoinemadec/FixCursorHold.nvim", }, }) -- Database Feature use("tpope/vim-dadbod") use("kristijanhusak/vim-dadbod-ui") if packer_bootstrap then packer.sync() end end)