summaryrefslogtreecommitdiff
path: root/nvim/lua/jonathan/plugins-setup.lua
diff options
context:
space:
mode:
Diffstat (limited to 'nvim/lua/jonathan/plugins-setup.lua')
-rw-r--r--nvim/lua/jonathan/plugins-setup.lua38
1 files changed, 38 insertions, 0 deletions
diff --git a/nvim/lua/jonathan/plugins-setup.lua b/nvim/lua/jonathan/plugins-setup.lua
new file mode 100644
index 0000000..400b1d8
--- /dev/null
+++ b/nvim/lua/jonathan/plugins-setup.lua
@@ -0,0 +1,38 @@
+-- auto install packer if not installed
+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() -- true if packer was just installed
+
+-- autocommand that reloads neovim and installs/updates/removes plugins
+-- when file is saved
+vim.cmd([[
+ augroup packer_user_config
+ autocmd!
+ autocmd BufWritePost plugins-setup.lua source <afile> | PackerSync
+ augroup end
+]])
+
+-- import packer safely
+local status, packer = pcall(require, "packer")
+if not status then
+ return
+end
+
+-- add list of plugins to install
+return packer.startup(function(use)
+ -- packer can manage itself
+ use("wbthomason/packer.nvim")
+ use("bluz71/vim-nightfly-guicolors") -- preferred colorscheme
+ use("nvim-tree/nvim-tree.lua")
+
+ if packer_bootstrap then
+ require("packer").sync()
+ end
+end)