1local packer = require("packer")
2
3local pkgs = {
4 "wbthomason/packer.nvim", -- packer manager
5 "folke/trouble.nvim", -- diagnostics
6 "mfussenegger/nvim-dap", -- add dap support
7 "leoluz/nvim-dap-go", -- add some utilites to go
8 "nvim-neotest/nvim-nio", -- async support library
9 "nvim-lua/plenary.nvim", -- base lib
10 "nvim-telescope/telescope.nvim", -- telescope
11 "nvim-telescope/telescope-file-browser.nvim", -- telescope file browser
12 "TimUntersberger/neogit", -- magit
13 "echasnovski/mini.nvim", -- provides many things
14 "jose-elias-alvarez/null-ls.nvim", -- enriches lsp
15 "nvim-treesitter/nvim-treesitter-context", -- show context of where it is at the code
16 "mbbill/undotree", -- keep track of undos
17 "simrat39/symbols-outline.nvim", -- symbols tree (lsp aware)
18 "caenrique/nvim-toggle-terminal", -- help with toggle from and to terminals [DEPRECATED]
19 "RRethy/vim-illuminate", -- hightlight use of the same word (lsp aware)
20 "sainnhe/edge", -- light theme
21 "williamboman/mason.nvim", -- manages many things
22 "neovim/nvim-lspconfig", -- lsp support
23}
24
25local function startup(use)
26 use("nvim-treesitter/nvim-treesitter", {run = ":TSUpdate"})
27 use("fatih/vim-go", {run = ":GoUpdateBinaries"})
28 for _, value in ipairs(pkgs) do use(value) end
29end
30
31packer.startup(startup)
32
33local neogit = require("neogit")
34local null_ls = require("null-ls")
35local mason = require("mason")
36
37null_ls.setup({sources = {null_ls.builtins.diagnostics.golangci_lint}})
38neogit.setup()
39mason.setup()
40
41require("gabrielgio")