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('', '', 'Neotree toggle', { 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('', 'g', 'Neogit', {}) 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', '', 'Telescope buffers', { noremap = true }) vim.keymap.set('n', '', 'Telescope find_files', { noremap = true }) vim.keymap.set('n', '', 'Telescope live_grep', { 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', '', 'UndotreeToggle', { noremap = true }) end, } use { 'linux-cultist/venv-selector.nvim', branch = 'regexp', config = function () require'venv-selector'.setup() vim.keymap.set('n', ',v', 'VenvSelect', { 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)