diff options
author | Gustaf Rydholm <gustaf.rydholm@gmail.com> | 2022-04-11 19:54:16 +0200 |
---|---|---|
committer | Gustaf Rydholm <gustaf.rydholm@gmail.com> | 2022-04-11 19:54:16 +0200 |
commit | c97475eeabc08df8aa5dfe6d476866217aaa55dc (patch) | |
tree | a4d2d9e50853afe89fe1b2a653ddc59b9eccd6db | |
parent | caf3656d5bc4d9f832791b424f5001828eaf4c49 (diff) |
fix(bootstrap): add fnl impl
-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)) |