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.

235 lines
5.1 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. "eoh-bse/minintro.nvim",
  105. config = function() require("minintro").setup() end
  106. }
  107. use {
  108. 'nvim-neotest/neotest',
  109. requires = {
  110. 'nvim-lua/plenary.nvim',
  111. 'nvim-treesitter/nvim-treesitter',
  112. 'antoinemadec/FixCursorHold.nvim',
  113. -- Adapters
  114. 'tovijaeschke/neotest-phpunit',
  115. 'nvim-neotest/neotest-go',
  116. },
  117. config = function()
  118. require('config.neotest')
  119. end,
  120. }
  121. use {
  122. 'MunifTanjim/prettier.nvim',
  123. requires = {
  124. -- 'jose-elias-alvarez/null-ls.nvim',
  125. 'neovim/nvim-lspconfig',
  126. },
  127. config = function()
  128. -- require('config.null-ls')
  129. require('config.prettier')
  130. end
  131. }
  132. use {
  133. 'rcarriga/nvim-notify',
  134. config = function ()
  135. require('notify').setup({
  136. background_color = '#000000',
  137. timeout = 3
  138. })
  139. end
  140. }
  141. -- CMD and search at the top
  142. -- use {
  143. -- 'folke/noice.nvim',
  144. -- requires = {
  145. -- 'MunifTanjim/nui.nvim',
  146. -- 'rcarriga/nvim-notify',
  147. -- },
  148. -- config = function ()
  149. -- require('config.noice')
  150. -- end
  151. -- }
  152. -- DB manager
  153. use {
  154. 'kristijanhusak/vim-dadbod-ui',
  155. requires = {
  156. 'tpope/vim-dadbod',
  157. },
  158. config = function()
  159. require('config.dadbod')
  160. end
  161. }
  162. -- Copy to clipboard over ssh
  163. use {
  164. 'ojroques/nvim-osc52',
  165. config = function()
  166. require('config.osc52')
  167. end
  168. }
  169. use {
  170. 'numToStr/Comment.nvim',
  171. config = function()
  172. require('Comment').setup()
  173. end
  174. }
  175. -- Programming language specifics
  176. use { 'dart-lang/dart-vim-plugin' }
  177. use { 'ray-x/guihua.lua' }
  178. -- use {
  179. -- 'ray-x/go.nvim',
  180. -- config = function()
  181. -- require('config.go')
  182. -- end
  183. -- }
  184. -- Colorschemes
  185. use {
  186. 'gruvbox-community/gruvbox',
  187. -- config = function ()
  188. -- vim.cmd('colorscheme gruvbox')
  189. -- end
  190. }
  191. use {
  192. 'folke/tokyonight.nvim',
  193. -- config = function ()
  194. -- vim.cmd('colorscheme tokyonight-night')
  195. -- end
  196. }
  197. use {
  198. 'catppuccin/nvim',
  199. as = 'catppuccin',
  200. config = function ()
  201. vim.cmd('colorscheme catppuccin-mocha')
  202. end
  203. }
  204. end)