afx で cli ツールを管理してみた
この記事は mirko-san のアドベントカレンダー Advent Calendar 2022 の 12月 4日の記事です。
こんにちは。
12月 3日の記事では zinit で cli ツールを管理してみましたが、本日は afx での管理を試みます。
経緯
いろいろな方法で cli ツールをインストールしがちなエンジニアである私が、インストールしている cli ツールをテキスト管理したいという気持ちのもと afx を試しました。
題材として、私の自作コマンドである mstanzaku のインストールを書いてみました。
afx のインストール
インストールは golang があれば手っ取り早く go install
で入る。
$ go install github.com/b4b4r07/afx@latest
golang が無い環境用にもバイナリが配布されているので、こちらを適当なパスが通っているところに置けば動きそう。
afx で自作コマンドのインストールをしてみる
少し悲しいニュースだが、 github からのインストールを行う場合は GITHUB_TOKEN
環境変数が必要になりそうだった。
(回避策があれば教えてほしいです😢)
今回は試しに Github の PAT を払い出す。
その先は簡単で、以下のような yaml を書くと mtanzaku コマンドが使えるようになりました。
github:
- name: mirko-san/mtanzaku
owner: mirko-san
repo: mtanzaku
release:
name: mtanzaku
tag: v0.1.1
asset:
filename: mtanzaku-x86_64-unknown-linux-gnu.tar.gz
command:
link:
- from: mtanzaku
to: mtanzaku
snippet: |
export PATH="$PATH:/home/mirko-san/.afx/github.com/mirko-san/mtanzaku"
source <(afx init)
zinit ice
と比べると大変書きやすいという気持ちでした。定義が直感的!
ただし、 Github の PAT が必要だけれど…。
さいごに
afx は書き心地がすごく良かったです。
zinit ice
はオプションがあまり直感的ではなかったので、自分は afx に移行してみようかなと思いました!
ちなみに、 mirko-san のアドベントカレンダー Advent Calendar 2022 では 2022 年 12月 25日までできれば毎日適当なポエムやプログラミングに関する記事を投稿予定です。
(週末はプログラミングに関する記事メインの予定です)
よろしければ12月のお供に見てみて下さい🤟
Discussion