Skip to content

gloat-install -- Installing Gloat

Gloat has zero dependencies - everything installs automatically on first use.

There are two main ways to get started: cloning the repository and sourcing the .rc file, or the quick install script.

For Bash, Fish or Zsh:

git clone https://github.com/gloathub/gloat
source gloat/.rc
gloat --help

The source gloat/.rc command adds the gloat command to your PATH, enables the gloat* man pages and sets up gloat tab completion.

On first run, Gloat will automatically install all required tools (Go, Glojure, YAMLScript, Babashka, etc) to .cache/local/ within the project directory. Just run gloat --help once to complete the setup.

To make Gloat available permanently, simply add this to your shell's (Bash, Zsh or Fish) rc file (~/.bashrc, ~/.config/fish/config.fish or ~/.zshrc):

source /path/to/gloat/.rc

Yes, that command and .rc file actually supports all three shells!

Quick Install

For Bash or Zsh, install gloat to ~/.local and load its shell setup in the current shell:

source <(curl -sL gloathub.org/install)

For Fish:

curl -sL gloathub.org/install | source

This runs the Makefile installer, clones the gloat repository to ~/.local/share/gloat, creates a symlink at ~/.local/bin/gloat, installs all required dependencies, and then sources ~/.local/share/gloat/.rc.

The sourced .rc adds the installed gloat command to your current PATH, enables the gloat* man pages and sets up gloat tab completion. To make that setup permanent, add this to your shell's rc file (~/.bashrc, ~/.config/fish/config.fish or ~/.zshrc):

source ~/.local/share/gloat/.rc

Pass Makefile variables after the command to customize the install:

source <(curl -sL gloathub.org/install) PREFIX=~/.gloat
source <(curl -sL gloathub.org/install) VERSION=v0.1.37

For Fish, set PREFIX before sourcing:

set -gx PREFIX ~/.gloat
curl -sL gloathub.org/install | source

Upgrading

Upgrade gloat to the latest release:

gloat --upgrade

Pin (or roll back) to a specific version:

gloat --upgrade=v1.2.3

In both cases, gloat will:

  1. Switch the local checkout to the target tag.
  2. Remove .cache/.
  3. Install the core dependencies that pair with that gloat release, including the matching GLJ version. The YAMLScript compiler is installed later if a .ys file is compiled.

If your clone has uncommitted changes, --upgrade will refuse and ask you to stash or commit them first.

If you installed via the one-line installer, the checkout under ~/.local/share/gloat is detached-HEAD and upgrading there always works.

Resetting the Cache

If something gets stuck or you want to force a fresh dependency install without changing version:

gloat --reset

This removes .cache/ entirely (binaries, build artifacts, REPL working dirs). The next gloat invocation reinstalls everything.

Uninstalling

If you used the one-line installer:

make -f <(curl -sL gloathub.org/make) uninstall
make -f <(curl -sL gloathub.org/make) uninstall-glj   # if you installed glj

This removes the gloat symlink from ~/.local/bin and the cloned tree from ~/.local/share/gloat (use PREFIX=... if you installed to a custom prefix). After uninstalling, remove the source .../.rc line you added to your shell rc, or new shells will fail to start.

If you used the clone method, uninstalling is just removing the clone and the source line:

rm -rf /path/to/gloat
# Then remove the `source /path/to/gloat/.rc` line from your shell rc.