You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

222 lines
4.8 KiB

  1. return require('packer').startup(function()
  2. -- Packer can manage itself
  3. use { 'wbthomason/packer.nvim' }
  4. use {
  5. 'github/copilot.vim',
  6. config = function()
  7. require('config.copilot')
  8. end
  9. }
  10. use {
  11. 'VonHeikemen/lsp-zero.nvim',
  12. requires = {
  13. -- LSP Support
  14. {'neovim/nvim-lspconfig'},
  15. {'williamboman/mason.nvim'},
  16. {'williamboman/mason-lspconfig.nvim'},
  17. -- Autocompletion
  18. {'hrsh7th/nvim-cmp'},
  19. {'hrsh7th/cmp-buffer'},
  20. {'hrsh7th/cmp-path'},
  21. {'saadparwaiz1/cmp_luasnip'},
  22. {'hrsh7th/cmp-nvim-lsp'},
  23. {'hrsh7th/cmp-nvim-lua'},
  24. -- Snippets
  25. {'L3MON4D3/LuaSnip'},
  26. {'rafamadriz/friendly-snippets'},
  27. },
  28. config = function()
  29. require('config.lsp')
  30. end
  31. }
  32. use {
  33. 'tpope/vim-fugitive',
  34. config = function()
  35. require('config.fugitive')
  36. end
  37. }
  38. use { 'shumphrey/fugitive-gitlab.vim' }
  39. use { 'nvim-lua/plenary.nvim' }
  40. use {
  41. 'nvim-telescope/telescope.nvim',
  42. config = function()
  43. require('config.telescope')
  44. end
  45. }
  46. use { 'nvim-telescope/telescope-fzy-native.nvim'}
  47. use { 'nvim-treesitter/nvim-treesitter' }
  48. use {
  49. 'theprimeagen/harpoon',
  50. config = function ()
  51. require('config.harpoon')
  52. end
  53. }
  54. use {
  55. 'mbbill/undotree',
  56. config = function ()
  57. require('config.undotree')
  58. end
  59. }
  60. use {
  61. 'lewis6991/gitsigns.nvim',
  62. config = function()
  63. require('config.gitsigns')
  64. end
  65. }
  66. use {
  67. 'nvim-lualine/lualine.nvim',
  68. requires = {
  69. 'kyazdani42/nvim-web-devicons',
  70. 'nvim-lua/lsp-status.nvim',
  71. opt = true
  72. },
  73. config = function()
  74. require('config.lualine')
  75. end
  76. }
  77. use {
  78. 'aserowy/tmux.nvim',
  79. config = function ()
  80. require('config.tmux')
  81. end
  82. }
  83. use {
  84. 'nvim-neo-tree/neo-tree.nvim',
  85. branch = 'v2.x',
  86. requires = {
  87. 'nvim-lua/plenary.nvim',
  88. 'kyazdani42/nvim-web-devicons',
  89. 'MunifTanjim/nui.nvim',
  90. },
  91. config = function ()
  92. require('config.nvim-neo-tree')
  93. end
  94. }
  95. use {
  96. 'glepnir/dashboard-nvim',
  97. event = 'VimEnter',
  98. config = function()
  99. require('config.dashboard')
  100. end,
  101. requires = {'nvim-tree/nvim-web-devicons'}
  102. }
  103. use {
  104. 'nvim-neotest/neotest',
  105. requires = {
  106. 'nvim-lua/plenary.nvim',
  107. 'nvim-treesitter/nvim-treesitter',
  108. 'antoinemadec/FixCursorHold.nvim',
  109. -- Adapters
  110. 'olimorris/neotest-phpunit',
  111. 'nvim-neotest/neotest-go',
  112. },
  113. config = function()
  114. require('config.neotest')
  115. end,
  116. }
  117. use {
  118. 'MunifTanjim/prettier.nvim',
  119. requires = {
  120. -- 'jose-elias-alvarez/null-ls.nvim',
  121. 'neovim/nvim-lspconfig',
  122. },
  123. config = function()
  124. -- require('config.null-ls')
  125. require('config.prettier')
  126. end
  127. }
  128. -- CMD and search at the top
  129. use {
  130. 'folke/noice.nvim',
  131. requires = {
  132. 'MunifTanjim/nui.nvim',
  133. 'rcarriga/nvim-notify',
  134. },
  135. config = function ()
  136. require('config.noice')
  137. end
  138. }
  139. use {
  140. 'rcarriga/nvim-notify',
  141. config = function ()
  142. require('notify').setup({
  143. background_color = '#000000'
  144. })
  145. end
  146. }
  147. -- DB manager
  148. use {
  149. 'kristijanhusak/vim-dadbod-ui',
  150. requires = {
  151. 'tpope/vim-dadbod',
  152. },
  153. config = function()
  154. require('config.dadbod')
  155. end
  156. }
  157. -- Copy to clipboard over ssh
  158. use {
  159. 'ojroques/nvim-osc52',
  160. config = function()
  161. require('config.osc52')
  162. end
  163. }
  164. -- Programming language specifics
  165. use { 'dart-lang/dart-vim-plugin' }
  166. use { 'ray-x/guihua.lua' }
  167. use {
  168. 'ray-x/go.nvim',
  169. config = function()
  170. require('config.go')
  171. end
  172. }
  173. -- Colorschemes
  174. use {
  175. 'gruvbox-community/gruvbox',
  176. -- config = function ()
  177. -- vim.cmd('colorscheme gruvbox')
  178. -- end
  179. }
  180. use {
  181. 'folke/tokyonight.nvim',
  182. -- config = function ()
  183. -- vim.cmd('colorscheme tokyonight-night')
  184. -- end
  185. }
  186. use {
  187. 'catppuccin/nvim',
  188. as = 'catppuccin',
  189. config = function ()
  190. vim.cmd('colorscheme catppuccin-mocha')
  191. end
  192. }
  193. end)