return require('packer').startup(function() -- Packer can manage itself use { 'wbthomason/packer.nvim' } use { 'github/copilot.vim', config = function() require('config.copilot') end } use { 'VonHeikemen/lsp-zero.nvim', requires = { -- LSP Support {'neovim/nvim-lspconfig'}, {'williamboman/mason.nvim'}, {'williamboman/mason-lspconfig.nvim'}, -- Autocompletion {'hrsh7th/nvim-cmp'}, {'hrsh7th/cmp-buffer'}, {'hrsh7th/cmp-path'}, {'saadparwaiz1/cmp_luasnip'}, {'hrsh7th/cmp-nvim-lsp'}, {'hrsh7th/cmp-nvim-lua'}, -- Snippets {'L3MON4D3/LuaSnip'}, {'rafamadriz/friendly-snippets'}, }, config = function() require('config.lsp') end } use { 'tpope/vim-fugitive', config = function() require('config.fugitive') end } use { 'shumphrey/fugitive-gitlab.vim' } use { 'nvim-lua/plenary.nvim' } use { 'nvim-telescope/telescope.nvim', config = function() require('config.telescope') end } use { 'nvim-telescope/telescope-fzy-native.nvim'} use { 'nvim-treesitter/nvim-treesitter' } use { 'nvim-treesitter/nvim-treesitter-context', config = function () require('config.treesitter-context') end } use { 'theprimeagen/harpoon', config = function () require('config.harpoon') end } use { 'mbbill/undotree', config = function () require('config.undotree') end } use { 'lewis6991/gitsigns.nvim', config = function() require('config.gitsigns') end } use { 'nvim-lualine/lualine.nvim', requires = { 'kyazdani42/nvim-web-devicons', 'nvim-lua/lsp-status.nvim', opt = true }, config = function() require('config.lualine') end } use { 'aserowy/tmux.nvim', config = function () require('config.tmux') end } use { 'nvim-neo-tree/neo-tree.nvim', branch = 'v2.x', requires = { 'nvim-lua/plenary.nvim', 'kyazdani42/nvim-web-devicons', 'MunifTanjim/nui.nvim', }, config = function () require('config.nvim-neo-tree') end } use { 'glepnir/dashboard-nvim', event = 'VimEnter', config = function() require('config.dashboard') end, requires = {'nvim-tree/nvim-web-devicons'} } use { 'nvim-neotest/neotest', requires = { 'nvim-lua/plenary.nvim', 'nvim-treesitter/nvim-treesitter', 'antoinemadec/FixCursorHold.nvim', -- Adapters 'olimorris/neotest-phpunit', 'nvim-neotest/neotest-go', }, config = function() require('config.neotest') end, } use { 'MunifTanjim/prettier.nvim', requires = { -- 'jose-elias-alvarez/null-ls.nvim', 'neovim/nvim-lspconfig', }, config = function() -- require('config.null-ls') require('config.prettier') end } use { 'rcarriga/nvim-notify', config = function () require('notify').setup({ background_color = '#000000', timeout = 3 }) end } -- CMD and search at the top use { 'folke/noice.nvim', requires = { 'MunifTanjim/nui.nvim', 'rcarriga/nvim-notify', }, config = function () require('config.noice') end } -- DB manager use { 'kristijanhusak/vim-dadbod-ui', requires = { 'tpope/vim-dadbod', }, config = function() require('config.dadbod') end } -- Copy to clipboard over ssh use { 'ojroques/nvim-osc52', config = function() require('config.osc52') end } use { 'numToStr/Comment.nvim', config = function() require('Comment').setup() end } -- Programming language specifics use { 'dart-lang/dart-vim-plugin' } use { 'ray-x/guihua.lua' } use { 'ray-x/go.nvim', config = function() require('config.go') end } -- Colorschemes use { 'gruvbox-community/gruvbox', -- config = function () -- vim.cmd('colorscheme gruvbox') -- end } use { 'folke/tokyonight.nvim', -- config = function () -- vim.cmd('colorscheme tokyonight-night') -- end } use { 'catppuccin/nvim', as = 'catppuccin', config = function () vim.cmd('colorscheme catppuccin-mocha') end } end)