summaryrefslogtreecommitdiff
path: root/fnl/bootstrap.fnl
diff options
context:
space:
mode:
Diffstat (limited to 'fnl/bootstrap.fnl')
-rw-r--r--fnl/bootstrap.fnl28
1 files changed, 28 insertions, 0 deletions
diff --git a/fnl/bootstrap.fnl b/fnl/bootstrap.fnl
new file mode 100644
index 0000000..6d8ff81
--- /dev/null
+++ b/fnl/bootstrap.fnl
@@ -0,0 +1,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)