From 6ada17c671c5a5b82ca7aec0f431074b260ed5ae Mon Sep 17 00:00:00 2001 From: Gustaf Rydholm Date: Mon, 10 Jan 2022 21:59:08 +0100 Subject: Add installer --- lua/plugins/installer.lua | 55 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 lua/plugins/installer.lua (limited to 'lua') diff --git a/lua/plugins/installer.lua b/lua/plugins/installer.lua new file mode 100644 index 0000000..6c3b14a --- /dev/null +++ b/lua/plugins/installer.lua @@ -0,0 +1,55 @@ +-- Neovim packer installer. + +local fn = vim.fn +local plugins = require("plugins.plugins") + +-- Automatically install packer +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, + }) + print("Installing packer close and reopen Neovim...") + vim.cmd([[packadd packer.nvim]]) +end + +-- Autocommand that reloads neovim whenever you save the plugins.lua file +vim.cmd([[ + augroup packer_user_config + autocmd! + autocmd BufWritePost plugins.lua source | 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 + +-- Have packer use a popup window +packer.init({ + display = { + open_fn = function() + return require("packer.util").float({ border = "rounded" }) + end, + }, +}) + +-- Install your plugins here +return packer.startup(function(use) + for _, plugin in ipairs(plugins) do + use(plugin) + end + + -- 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) -- cgit v1.2.3-70-g09d2