summaryrefslogtreecommitdiff
path: root/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'init.lua')
-rw-r--r--init.lua31
1 files changed, 30 insertions, 1 deletions
diff --git a/init.lua b/init.lua
index 7cc6bc9..90db1c4 100644
--- a/init.lua
+++ b/init.lua
@@ -1,5 +1,34 @@
+-- Bootstrap nvim with essential plugins.
+local fn = vim.fn
+local fmt = string.format
+local execute = vim.api.nvim_command
+local packer_path = fn.stdpath "data" .. "/site/pack/packer/start"
+
+local function ensure(user, repository)
+ local ensure_path = fmt("%s/%s", packer_path, repository)
+ if fn.empty(fn.glob(ensure_path)) > 0 then
+ execute(
+ fmt(
+ "!git clone --depth 1 https://github.com/%s/%s %s",
+ user,
+ repository,
+ ensure_path
+ )
+ )
+ execute(fmt("packadd %s", repository))
+ end
+end
+
+-- Bootstrap install essential modules if not present
+ensure("wbthomason", "packer.nvim")
+ensure("Olical", "aniseed")
+ensure("lewis6991", "impatient.nvim")
+
+if #vim.fn.readdir(packer_path) == 3 then
+ require("packer").sync()
+end
+
-- Loads plugins for Neovim with fennel.
-require "bootstrap"
vim.g["aniseed#env"] = {
module = "init",
compile = true,