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 mirror.gcr.io/ubuntu:24.04 bash
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get 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.2/aqua-installer
echo "9a5afb16da7191fbbc0c0240a67e79eecb0f765697ace74c70421377c99f0423 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}.