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)
|