# Babashka Scripts
-Miscellaneous [babashka](https://babashka.org "babashka website") scripts I wrote for my own personal use.
+Miscellaneous [babashka](https://babashka.org "babashka website") scripts written for my own personal use.
## Requirements
-babashka (>= 0.2.9)
+babashka (>= 0.4.0)
## Usage
Clone this repository.
``` sh
-cd ~/dev
git clone https://njoseph.me/gitweb/babashka-scripts.git
```
-Add the following lines to your shell configuration file.
+The list of available commands can be found by running `bb tasks` in the directory where the file `bb.edn` is present.
``` sh
-export BABASHKA_PRELOADS='(run! load-file (map #(str (System/getProperty "user.home") "/dev/babashka-scripts/" %) ["lib.clj" "utils.clj"]))'
-export BABASHKA_PRELOADS=$BABASHKA_PRELOADS" (require '[utils :refer :all])"
-export PATH=$PATH:$HOME/dev/babashka-scripts
+The following tasks are available:
+
+gup Do a git pull and rebase branch with master in a given directory.
+gpa Runs `git pull` on all the git repositories in a given directory.
+ebook-to-audiobook A utility to listen to your ebooks using TTS programs. Only tested on macOS with epub files.
+install-deb Install a Debian package given a direct URL to the .deb file.
+install-deb-gh Install a Debian package given a GitHub URL.
+```
+
+Some tasks can also take arguments.
+
+``` sh
+bb ebook-to-audiobook the-great-gatsby.epub
+```
+
+## Shell aliases
+
+``` sh
+# bash, zsh
+source /path/to/babashka-scripts/bb-aliases.sh
+alias task = bb --config ~/dev/babashka-scripts/bb.edn
+
+# nu
+source /path/to/babashka-scripts/bb-aliases.nu
+alias task = bb --config ~/dev/babashka-scripts/bb.edn
```
-Some useful aliases.
+*Example:* To pull all the repositories in a directory, run
``` sh
-alias gup="bb -e '(git-pull-rebase-branch)'"
+task gpa .
```
-## Organization
+There is a utility `bbe` to run tasks in the current working directory in `bb-aliases.sh`.
-`lib.clj` contains functions that the other scripts might use. It must be loaded
-first.
-`utils.clj` contains standalone utilities that can be executed directly. These are
-convenient to use through shell aliases.
+*Example:* To pull all the repositories in a directory, run
-The remaining Clojure files are executable scripts.
+``` sh
+bbe gpa
+```