summaryrefslogtreecommitdiff
path: root/neovim/.config/nvim/lua/plugins.lua
diff options
context:
space:
mode:
authorMichaël Ball <michael@Michaels-MacBook-Pro.local>2024-07-16 16:12:12 +0100
committerMichaël Ball <michael@Michaels-MacBook-Pro.local>2024-07-16 16:12:12 +0100
commit4385c252eb461a0ec9dbf9569a8f9ef7f0664289 (patch)
treede1005fbc0274eea549dc42ca5be17101b937463 /neovim/.config/nvim/lua/plugins.lua
Initial commit
Diffstat (limited to 'neovim/.config/nvim/lua/plugins.lua')
-rw-r--r--neovim/.config/nvim/lua/plugins.lua200
1 files changed, 200 insertions, 0 deletions
diff --git a/neovim/.config/nvim/lua/plugins.lua b/neovim/.config/nvim/lua/plugins.lua
new file mode 100644
index 0000000..83afc45
--- /dev/null
+++ b/neovim/.config/nvim/lua/plugins.lua
@@ -0,0 +1,200 @@
+local ensure_packer = function()
+ local fn = vim.fn
+ local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
+ if fn.empty(fn.glob(install_path)) > 0 then
+ fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
+ vim.cmd [[packadd packer.nvim]]
+ return true
+ end
+ return false
+end
+
+local packer_bootstrap = ensure_packer()
+
+return require('packer').startup(function(use)
+ use {
+ 'luisjure/csound-vim',
+ ft = 'csound',
+ }
+ use {
+ 'nvimdev/galaxyline.nvim',
+ branch = 'main',
+ requires = { { 'nvim-tree/nvim-web-devicons', opt = true } },
+ config = [[require('config.galaxyline')]],
+ after = { 'vim-colors-xcode' },
+ }
+ use {
+ 'lewis6991/gitsigns.nvim',
+ config = [[require('config.gitsigns')]],
+ }
+ use {
+ 'junegunn/goyo.vim',
+ cond = function() return vim.fn.exists('g:GtkGuiLoaded') == 1 end,
+ requires = {
+ {
+ 'junegunn/limelight.vim',
+ cond = function() return vim.fn.exists('g:GtkGuiLoaded') == 1 end,
+ },
+ },
+ config = [[require('config.goyo')]],
+ }
+ use {
+ 'lukas-reineke/indent-blankline.nvim',
+ config = [[require('config.indent_blankline')]],
+ }
+ use {
+ 'nvimdev/lspsaga.nvim',
+ after = { 'nvim-lspconfig' },
+ requires = { { 'nvim-tree/nvim-web-devicons' } },
+ config = [[require('config.lspsaga')]],
+ }
+ use 'preservim/nerdcommenter'
+ use {
+ "nvim-neo-tree/neo-tree.nvim",
+ branch = "v3.x",
+ requires = {
+ "nvim-lua/plenary.nvim",
+ "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
+ "MunifTanjim/nui.nvim",
+ -- "3rd/image.nvim", -- Optional image support in preview window: See `# Preview Mode` for more information
+ },
+ setup = function ()
+ vim.keymap.set('', '<F8>', '<cmd>Neotree toggle<CR>', { noremap = true })
+ end
+ }
+ use {
+ 'NeogitOrg/neogit',
+ cmd = 'Neogit',
+ requires = { { 'nvim-lua/plenary.nvim' }, { 'sindrets/diffview.nvim' } },
+ config = [[require('config.neogit')]],
+ setup = function()
+ vim.keymap.set('', '<leader>g', '<cmd>Neogit<CR>', {})
+ end,
+ }
+ use {
+ 'hrsh7th/nvim-cmp',
+ requires = {
+ {
+ 'andersevenrud/cmp-tmux',
+ cond = function() return vim.fn.exists('g:GtkGuiLoaded') == 0 end
+ },
+ {
+ 'hrsh7th/cmp-nvim-lsp'
+ },
+ {
+ 'hrsh7th/cmp-nvim-lsp-signature-help'
+ },
+ {
+ 'hrsh7th/cmp-nvim-lsp-document-symbol'
+ },
+ {
+ 'hrsh7th/cmp-buffer'
+ },
+ {
+ 'hrsh7th/cmp-path'
+ },
+ {
+ 'hrsh7th/cmp-cmdline'
+ },
+ {
+ 'hrsh7th/cmp-vsnip',
+ requires = 'hrsh7th/vim-vsnip'
+ }
+ },
+ config = [[require('config.nvim_cmp')]],
+ }
+ use {
+ 'arzg/vim-colors-xcode',
+ config = 'vim.cmd[[colorscheme xcode]]'
+ }
+ use {
+ 'mfussenegger/nvim-dap',
+ requires = { { 'mfussenegger/nvim-dap-python', 'rcarriga/nvim-dap-ui', 'nvim-neotest/nvim-nio' } },
+ config = [[require('config.nvim_dap')]],
+ }
+ use {
+ 'neovim/nvim-lspconfig',
+ config = [[require('config.nvim_lspconfig')]],
+ }
+ use {
+ 'prettier/vim-prettier',
+ }
+ use {
+ 'nvim-treesitter/nvim-treesitter',
+ run = ':TSUpdate',
+ config = [[require('config.nvim_treesitter')]],
+ }
+ use 'wbthomason/packer.nvim'
+ use {
+ 'nvim-telescope/telescope.nvim',
+ requires = { { 'nvim-lua/plenary.nvim' } },
+ config = function()
+ vim.keymap.set('n', '<F3>', '<cmd>Telescope buffers<CR>', { noremap = true })
+ vim.keymap.set('n', '<F4>', '<cmd>Telescope find_files<CR>', { noremap = true })
+ vim.keymap.set('n', '<F6>', '<cmd>Telescope live_grep<CR>', { noremap = true })
+ end,
+ }
+ use {
+ 'supercollider/scvim',
+ config = function()
+ vim.g.scFlash = 1
+ end,
+ ft = 'supercollider',
+ }
+ use {
+ 'nanozuki/tabby.nvim',
+ requires = {
+ {
+ 'nvim-tree/nvim-web-devicons',
+ }
+ },
+ config = [[require('config.tabby')]],
+ cond = function() return vim.fn.has('gui_running') == 0 end,
+ }
+ use 'godlygeek/tabular'
+ use {
+ 'mbbill/undotree',
+ cmd = 'UndotreeToggle',
+ setup = function()
+ vim.keymap.set('n', '<F5>', '<cmd>UndotreeToggle<CR>', { noremap = true })
+ end,
+ }
+ use {
+ 'linux-cultist/venv-selector.nvim',
+ branch = 'regexp',
+ config = function ()
+ require'venv-selector'.setup()
+ vim.keymap.set('n', ',v', '<cmd>VenvSelect<CR>', { noremap = true })
+ end
+ }
+ use 'ryanoasis/vim-devicons'
+ use {
+ 'Glench/Vim-Jinja2-Syntax',
+ ft = 'jinja',
+ }
+ use {
+ 'plasticboy/vim-markdown',
+ config = function()
+ vim.g.vim_markdown_folding_disabled = 1
+ end,
+ ft = 'markdown',
+ }
+ use 'junegunn/vim-plug'
+ use {
+ 'tmux-plugins/vim-tmux',
+ cond = function() return vim.fn.exists('g:GtkGuiLoaded') == 0 end,
+ }
+ use {
+ 'tmux-plugins/vim-tmux-focus-events',
+ cond = function() return vim.fn.exists('g:GtkGuiLoaded') == 0 end,
+ }
+ use {
+ 'benmills/vimux',
+ cond = function() return vim.fn.exists('g:GtkGuiLoaded') == 0 end,
+ config = [[require('config.vimux')]],
+ }
+
+ if packer_bootstrap then
+ require('packer').sync()
+ end
+end)