summaryrefslogtreecommitdiff
path: root/lua/bootstrap.lua
diff options
context:
space:
mode:
authorGustaf Rydholm <gustaf.rydholm@gmail.com>2022-04-10 19:34:44 +0200
committerGustaf Rydholm <gustaf.rydholm@gmail.com>2022-04-10 19:34:44 +0200
commitfef2c0df450b33fd680f8ba7c824be7c843dcd82 (patch)
tree53d6a0fe319eb0bcd2fca986723460bdfdb6302d /lua/bootstrap.lua
parent38215110f1c1290b5b7ef6401db1c1310a2a94b6 (diff)
refactor(bootstrap): add bootstrap
Diffstat (limited to 'lua/bootstrap.lua')
-rw-r--r--lua/bootstrap.lua28
1 files changed, 28 insertions, 0 deletions
diff --git a/lua/bootstrap.lua b/lua/bootstrap.lua
new file mode 100644
index 0000000..ea8f95b
--- /dev/null
+++ b/lua/bootstrap.lua
@@ -0,0 +1,28 @@
+-- Bootstrap nvim with essential plugins.
+local fn = vim.fn
+local fmt = string.format
+local execute = vim.api.nvim_command
+
+local function ensure(user, repository)
+ local packer_path = fn.stdpath "data" .. "/site/pack"
+ local ensure_path = fmt("%s/packer/start/%s", packer_path, repository)
+ if fn.empty(fn.glob(ensure_path)) > 0 then
+ PACKER_BOOTSTRAP = 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("lewis6991", "impatient.nvim")
+
+-- Enable faster loading with impatient
+require "config.impatient"
+return PACKER_BOOTSTRAP