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.

230 lines
4.9 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. 'nvim-treesitter/nvim-treesitter-context',
  50. config = function ()
  51. require('config.treesitter-context')
  52. end
  53. }
  54. use {
  55. 'theprimeagen/harpoon',
  56. config = function ()
  57. require('config.harpoon')
  58. end
  59. }
  60. use {
  61. 'mbbill/undotree',
  62. config = function ()
  63. require('config.undotree')
  64. end
  65. }
  66. use {
  67. 'lewis6991/gitsigns.nvim',
  68. config = function()
  69. require('config.gitsigns')
  70. end
  71. }
  72. use {
  73. 'nvim-lualine/lualine.nvim',
  74. requires = {
  75. 'kyazdani42/nvim-web-devicons',
  76. 'nvim-lua/lsp-status.nvim',
  77. opt = true
  78. },
  79. config = function()
  80. require('config.lualine')
  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. use {
  129. 'rcarriga/nvim-notify',
  130. config = function ()
  131. require('notify').setup({
  132. background_color = '#000000',
  133. timeout = 3
  134. })
  135. end
  136. }
  137. -- CMD and search at the top
  138. use {
  139. 'folke/noice.nvim',
  140. requires = {
  141. 'MunifTanjim/nui.nvim',
  142. 'rcarriga/nvim-notify',
  143. },
  144. config = function ()
  145. require('config.noice')
  146. end
  147. }
  148. -- DB manager
  149. use {
  150. 'kristijanhusak/vim-dadbod-ui',
  151. requires = {
  152. 'tpope/vim-dadbod',
  153. },
  154. config = function()
  155. require('config.dadbod')
  156. end
  157. }
  158. -- Copy to clipboard over ssh
  159. use {
  160. 'ojroques/nvim-osc52',
  161. config = function()
  162. require('config.osc52')
  163. end
  164. }
  165. use {
  166. 'numToStr/Comment.nvim',
  167. config = function()
  168. require('Comment').setup()
  169. end
  170. }
  171. -- Programming language specifics
  172. use { 'dart-lang/dart-vim-plugin' }
  173. use { 'ray-x/guihua.lua' }
  174. use {
  175. 'ray-x/go.nvim',
  176. config = function()
  177. require('config.go')
  178. end
  179. }
  180. -- Colorschemes
  181. use {
  182. 'gruvbox-community/gruvbox',
  183. -- config = function ()
  184. -- vim.cmd('colorscheme gruvbox')
  185. -- end
  186. }
  187. use {
  188. 'folke/tokyonight.nvim',
  189. -- config = function ()
  190. -- vim.cmd('colorscheme tokyonight-night')
  191. -- end
  192. }
  193. use {
  194. 'catppuccin/nvim',
  195. as = 'catppuccin',
  196. config = function ()
  197. vim.cmd('colorscheme catppuccin-mocha')
  198. end
  199. }
  200. end)