summaryrefslogtreecommitdiff
path: root/fnl/bootstrap.fnl
blob: 8ee3e0fc9031b3f38f4fecc2c20b14bc2d1eb5e9 (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
;; 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))
           (do
             (execute (fmt git-clone-url user repository path))
             (execute (fmt "packadd %s" repository))
             true)
           false))

(defn run [] (let [is_bootstrapped (ensure :wbthomason :packer.nvim)]
               (ensure :Olical :aniseed)
               (ensure :lewis6991 :impatient.nvim)
               is_bootstrapped))