dotfiles/home/.config/nvim/lua/pluginmanager.lua

109 lines
2.7 KiB
Lua

local fn = vim.fn
local cmd = vim.cmd
-- Install packer if it's not yet installed
local install_path = fn.stdpath('data') .. '/site/pack/packer/opt/packer.nvim'
local packer_not_installed = fn.empty(fn.glob(install_path))
if packer_not_installed > 0 then
print('Packer is not installed, cloning it now...')
cmd('silent !git clone https://github.com/wbthomason/packer.nvim ' ..
install_path)
end
-- Configure packer
cmd 'packadd packer.nvim'
local use = require('packer').use
require('packer').startup(function()
-- The plugin manager itself
use {'wbthomason/packer.nvim', opt = true}
-- Colorscheme
use 'EdenEast/nightfox.nvim'
-- Git in signcolumn
use 'airblade/vim-gitgutter'
-- Statusline
use {
'hoob3rt/lualine.nvim',
requires = {'kyazdani42/nvim-web-devicons', opt = true}
}
-- Tabline/bufferline
use {
'akinsho/nvim-bufferline.lua',
requires = 'kyazdani42/nvim-web-devicons'
}
-- Git commands
use 'tpope/vim-fugitive'
-- Indent characters
use "lukas-reineke/indent-blankline.nvim"
-- Tree explorer
use {'kyazdani42/nvim-tree.lua', requires = 'kyazdani42/nvim-web-devicons'}
-- Telescope
use {
'nvim-telescope/telescope.nvim',
requires = {{'nvim-lua/popup.nvim'}, {'nvim-lua/plenary.nvim'}}
}
-- Do stuff as sudo
use 'lambdalisue/suda.vim'
-- Read editorconfig settings
use 'editorconfig/editorconfig-vim'
-- Configs for built-in LSP
use 'neovim/nvim-lspconfig'
-- Install LSP server executables
use 'williamboman/nvim-lsp-installer'
-- Completion
use 'hrsh7th/nvim-cmp' -- Autocompletion plugin
use 'hrsh7th/cmp-nvim-lsp' -- LSP source for nvim-cmp
use 'hrsh7th/cmp-path' -- Path source for nvim-cmp
use 'saadparwaiz1/cmp_luasnip' -- Snippets source for nvim-cmp
use 'L3MON4D3/LuaSnip' -- Snippets plugin
-- treesitter syntax highlight
use {'nvim-treesitter/nvim-treesitter', run = ':TSUpdate'}
-- treesitter plugin for commentstring
use 'JoosepAlviste/nvim-ts-context-commentstring'
-- Additional plugins for formats not supported
-- by treesitter
use 'jamespeapen/swayconfig.vim'
-- mappings for commenting in code
use 'tpope/vim-commentary'
-- we all know this one
use 'tpope/vim-surround'
-- Formatter plugin
use 'sbdchd/neoformat'
-- Make editing passwords safer
use {
'https://git.zx2c4.com/password-store',
rtp = 'contrib/vim/redact_pass.vim'
}
-- Neovim inside Firefox
use {
'glacambre/firenvim',
run = function() vim.fn['firenvim#install'](0) end
}
end)
-- Install plugins if packer was not installed
if packer_not_installed > 0 then cmd 'PackerInstall' end