summaryrefslogtreecommitdiff
path: root/fnl/bootstrap.fnl
blob: 6d8ff8165963cc355667ace5c5f8a12a6e45fa55 (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
;; Bootstraping for fresh install
(module bootstrap
  {autoload {util util}})

(defn- fmt [s ...]
  (string.format s ...))

(def- packer-path 
  (.. (vim.fn.stdpath :data) :site/pack))

(def- git-clone-url
  ("!git clone --depth 1 https://github.com/%s/%s %s"))

(defn- execute [cmd]
  (vim.api.nvim_command cmd))

(defn- ensure-path [packer-path repository]
  (fmt "%s/packer/start/%s" packer-path repository))

(defn- ensure [user repository]
  (let [path (ensure-path packer-path repository)])
  (if (> (vim.fn.empty (vim.fn.glob path) 0))
    (execute (fmt git-clone-url user repository path))
    (execute (fmt "packadd %s" repository))))

(ensure :wbthomason :packer.nvim)
(ensure :Olical :aniseed)
(ensure :lewis6991 :impatient.nvim)