forked from brainfucksec/neovim-lua
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpacker_init.lua
127 lines (105 loc) · 2.9 KB
/
packer_init.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
-----------------------------------------------------------
-- Plugin manager configuration file
-----------------------------------------------------------
-- Plugin manager: packer.nvim
-- url: https://github.com/wbthomason/packer.nvim
-- For information about installed plugins see the README:
-- neovim-lua/README.md
-- https://github.com/brainfucksec/neovim-lua#readme
-- Automatically install packer
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
packer_bootstrap = fn.system({
'git',
'clone',
'--depth',
'1',
'https://github.com/wbthomason/packer.nvim',
install_path
})
vim.o.runtimepath = vim.fn.stdpath('data') .. '/site/pack/*/start/*,' .. vim.o.runtimepath
end
-- Autocommand that reloads neovim whenever you save the packer_init.lua file
vim.cmd [[
augroup packer_user_config
autocmd!
autocmd BufWritePost packer_init.lua source <afile> | PackerSync
augroup end
]]
-- Use a protected call so we don't error out on first use
local status_ok, packer = pcall(require, 'packer')
if not status_ok then
return
end
-- Install plugins
return packer.startup(function(use)
-- Add you plugins here:
use 'wbthomason/packer.nvim' -- packer can manage itself
-- File explorer
use 'kyazdani42/nvim-tree.lua'
-- Indent line
use 'lukas-reineke/indent-blankline.nvim'
-- Autopair
use {
'windwp/nvim-autopairs',
config = function()
require('nvim-autopairs').setup{}
end
}
-- Icons
use 'kyazdani42/nvim-web-devicons'
-- Tag viewer
use 'preservim/tagbar'
-- Treesitter interface
use {
'nvim-treesitter/nvim-treesitter',
run = function() require('nvim-treesitter.install').update({ with_sync = true }) end,
}
-- Color schemes
use 'navarasu/onedark.nvim'
use 'tanvirtin/monokai.nvim'
use { 'rose-pine/neovim', as = 'rose-pine' }
-- LSP
use 'neovim/nvim-lspconfig'
-- Autocomplete
use {
'hrsh7th/nvim-cmp',
requires = {
'L3MON4D3/LuaSnip',
'hrsh7th/cmp-nvim-lsp',
'hrsh7th/cmp-path',
'hrsh7th/cmp-buffer',
'saadparwaiz1/cmp_luasnip',
},
}
-- Statusline
use {
'feline-nvim/feline.nvim',
requires = { 'kyazdani42/nvim-web-devicons' },
}
-- git labels
use {
'lewis6991/gitsigns.nvim',
requires = { 'nvim-lua/plenary.nvim' },
config = function()
require('gitsigns').setup{}
end
}
-- Dashboard (start screen)
use {
'goolord/alpha-nvim',
requires = { 'kyazdani42/nvim-web-devicons' },
}
-- telescope
use {
'nvim-telescope/telescope.nvim', tag = '0.1.x',
requires = { {'nvim-lua/plenary.nvim'} }
}
use {'nvim-telescope/telescope-fzf-native.nvim', run = 'make' }
-- 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
end)