Howdunnit

存在証明と生存確認

fish shell環境でaquaを使いたい

はじめに

私は、Macのデフォルトシェルがbashだった頃から、fishを使っています。POSIX非互換ですが、ユーザーフレンドリーなシェルとして非常に使いやすいです。

fishshell.com

CLIツールのバージョン管理ツールとして、これまでasdf-vmを使用してきました。導入当時、所属企業でkubectlやterraformの環境差分が大きく、環境ごとにバージョンを変えないといけない状況だったため、非常に重宝していました。導入当時記事も書いてます。

weblog.grimoh.net

また、いくつかasdf pluginを作成して、公式に導入もしています。

github.com

github.com

同じようなツールとしてaquaがあります。最近aquaを使い始めたので、fish shellでaquaを使うときの設定を書いてみようと思います。aquaを採用しようと思ったのは、Registryが中央集権的でプラグイン導入の安全性が一定あることが大きいかなと思います。また、aquaで対応していないツールなんかもあるため、しばらくはasdf-vmとの併用になると思います。(所属チームでもasdf-vmを使用していますし)

aquaproj.github.io

インストール、設定

まず、インストールです。Macを使っているので、以下を実行します。
(他環境については公式サイトを確認ください。)

$ brew install aquaproj/aqua/aqua

次に、PATH設定です。公式サイトには以下のように書かれています。

export PATH="${AQUA_ROOT_DIR:-${XDG_DATA_HOME:-$HOME/.local/share}/aquaproj-aqua}/bin:$PATH"

fish shellを使っているので、config.fishに以下を記載します。

set -gx XDG_DATA_HOME $HOME/.local/share
set -gx AQUA_ROOT_DIR $XDG_DATA_HOME/aquaproj-aqua
set -gx PATH $AQUA_ROOT_DIR/bin $PATH

シェル補完について

aqua にはシェル補完スクリプトの出力機能がありますが、bash, zshにしか対応していないみたいなので、fishのシェル補完スクリプトを作成しました。

github.com

導入方法は、他のfish plugin同様にFisher等でインストールするだけです。

github.com

ここまでの設定でfish shellでaquaを使う下地ができたかなと思います。