While creating [this gist](https://gist.github.com/thiagokokada/115b2588ff65a48d54b8832488801c92)
I realized that exiting if the --static flag is passed on non-Linux systems
just make more difficult to handle those cases.
Instead, let's just print a message informing the user of their mistake,
and keep running the script with the correct filename.
- Use `mktemp -d` to generate a temporary directory, only if user
doesn't use `--download-dir`
- Clean-up the temporary directory using `trap`. Remove
other `rm` calls from code since they're not necessary
anymore
- Run download in a subshell, so after finishing it the
script is still on the directory where the user ran
the script. Fix `./install --dir .` usage
- Fix backup of old Babashka install
* Remove xdg-open hardcoded path in impl.clojure.java.browse
Binaries in Linux are not guarantee to be located on /usr/bin.
For example, NixOS the binaries are located in
/run/current-system/sw/bin/xdg-open (that is actually just a symlink to
/nix/store). The distro may also not have xdg-open installed at /,
instead the user may put it somewhere else like $HOME/bin.
This commit fixes this by using not hardcoding the PATH of xdg-open,
instead relying on shell path to search it.
* Implement clojure.java.browse/*open-url-script*
This allows usage of a custom URL script, like:
```clojure
(binding [*open-url-script* (atom "my-browse-url-script")]
(browse-url "https://google.com"))
```
*open-url-script* is an atom just to keep compatibility with Clojure.
Described here: https://clojuredocs.org/clojure.java.browse/*open-url-script*