diff options
-rw-r--r-- | fnl/bootstrap.fnl | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/fnl/bootstrap.fnl b/fnl/bootstrap.fnl new file mode 100644 index 0000000..8ee3e0f --- /dev/null +++ b/fnl/bootstrap.fnl @@ -0,0 +1,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)) |