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://git.voronind.com/mirror/packer.nvim.git', install_path}) vim.cmd [[packadd packer.nvim]] return true end return false end local packer_bootstrap = ensure_packer() local available = function(commands) for _, command in ipairs(commands) do if vim.fn.executable(command) ~= 1 then return false end end return true end return require('packer').startup(function(use) --[[ host requirements - gcc-c++ ]]-- use 'https://git.voronind.com/mirror/packer.nvim.git' use 'https://git.voronind.com/mirror/nvim-web-devicons.git' use 'https://git.voronind.com/mirror/nvim-tree.lua.git' use 'https://git.voronind.com/mirror/nvim-lspconfig.git' use 'https://git.voronind.com/mirror/which-key.nvim.git' use 'https://git.voronind.com/mirror/bufferline.nvim.git' -- use 'https://git.voronind.com/mirror/Comment.nvim.git' -- TODO: remove mirror before deleting. use 'https://git.voronind.com/mirror/SingleComment.nvim.git' use 'https://git.voronind.com/mirror/lualine.nvim.git' use 'https://git.voronind.com/mirror/autoclose.nvim.git' use 'https://git.voronind.com/mirror/winshift.nvim.git' use 'https://git.voronind.com/mirror/mason.nvim.git' use 'https://git.voronind.com/mirror/mason-lspconfig.nvim.git' use 'https://git.voronind.com/mirror/gitsigns.nvim.git' -- use 'https://git.voronind.com/mirror/nvim-scrollbar.git' -- TODO: remove mirror before deleting. use 'https://git.voronind.com/mirror/trouble.nvim.git' use 'https://git.voronind.com/mirror/tokyonight.nvim.git' use 'https://git.voronind.com/mirror/close-buffers.nvim.git' use 'https://git.voronind.com/mirror/plenary.nvim.git' use 'https://git.voronind.com/mirror/telescope.nvim.git' use 'https://git.voronind.com/mirror/nvim-treesitter.git' use 'https://git.voronind.com/mirror/todo-comments.nvim.git' use 'https://git.voronind.com/mirror/align.nvim.git' use 'https://git.voronind.com/mirror/gruvbox-material.git' -- Automatically set up your configuration after cloning packer.nvim -- Put this at the end after all plugins if packer_bootstrap then require('packer').sync() end -- plugin toggles. local treesitter = true -- plugin setup. require('plugin/mason') require('plugin/lsp/init') require('plugin/filetree') require('plugin/bufferline') require('plugin/lualine') require('plugin/autoclose') require('plugin/winshift') require('plugin/gitsigns') -- require('plugin/scrollbar') -- TODO: remove mirror before deleting. require('plugin/trouble') require('plugin/tokyonight') require('plugin/gruvbox') require('plugin/closebuffers') require('plugin/telescope') require('plugin/todo') if available({'g++'}) then if treesitter then require('plugin/treesitter') require('plugin/fold') end end end)