summaryrefslogtreecommitdiff
path: root/bootstrap.lua
blob: a0b557d2f717c788604434e203a78cca4ea8ab0c (plain)
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
-- Bootstrap nvim with essential plugins.

local fn = vim.fn
local fmt = string.format
local execute = vim.api.nvim_command
local is_bootstrapped = false

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
    execute(
      fmt(
        "!git clone --depth 1 https://github.com/%s/%s %s",
        user,
        repository,
        ensure_path
      )
    )
    execute(fmt("packadd %s", repository))
    if repository == "packer.nvim" then
      is_bootstrapped = true
    end
  end
end

-- Bootstrap install essential modules if not present
ensure("wbthomason", "packer.nvim")
ensure("Olical", "aniseed")
ensure("lewis6991", "impatient.nvim")

if is_bootstrapped then
  require("packer").sync()
end