Skip to main content

Quick Start

aqua is a CLI tool to install CLI tools with declarative YAML configuration. In this quick start, let's install aqua and install tools with aqua.

Demo

Please see Demo.

Install aqua

Install

Please confirm if aqua is installed correctly.

aqua -v

Docker

If you want to try this tutorial in the clean environment, container is useful.

docker run --rm -ti debian:bookworm-20231009 bash
apt update
apt install -y curl vim

mkdir ~/workspace
cd ~/workspace
export PATH="${AQUA_ROOT_DIR:-${XDG_DATA_HOME:-$HOME/.local/share}/aquaproj-aqua}/bin:$PATH"
curl -sSfL -O https://raw.githubusercontent.com/aquaproj/aqua-installer/v3.1.1/aqua-installer
echo "e9d4c99577c6b2ce0b62edf61f089e9b9891af1708e88c6592907d2de66e3714 aqua-installer" | sha256sum -c -

chmod +x aqua-installer
./aqua-installer

Create a configuration file

Create a configuration file by aqua init command.

aqua init # aqua.yaml is created

aqua.yaml is created.

---
# aqua - Declarative CLI Version Manager
# https://aquaproj.github.io/
# checksum:
# enabled: true
# require_checksum: true
# supported_envs:
# - all
registries:
- type: standard
ref: v4.155.1 # renovate: depName=aquaproj/aqua-registry
packages:

packages is still empty, so let's add packages to install them.

info

See also Split config

# -d: Create aqua/aqua.yaml
# -u: Import packages from imports/.*\.ya?ml
aqua init [-d] [-u]

Install tools with aqua

Let's install GitHub Official CLI and fzf with aqua.

Add packages to aqua.yaml.

aqua g -i cli/cli junegunn/fzf

Packages are added to the field packages.

packages:
- name: cli/cli@v2.38.0
- name: junegunn/fzf@0.43.0

Then run aqua i.

aqua i

Congratulation! Tools are installed correctly.

$ command -v gh
/home/foo/.local/share/aquaproj-aqua/bin/gh

$ gh version
gh version 2.38.0 (2023-11-01)
https://github.com/cli/cli/releases/tag/v2.38.0

$ command -v fzf
/home/foo/.local/share/aquaproj-aqua/bin/fzf

$ fzf --version
0.43.0 (d3311d9)

aqua installs tools in ${AQUA_ROOT_DIR}.