Powerlevel10kを使うとプロンプトにAWSのプロファイルが表示されて便利

Powerlevel10kのAWSのプロファイルの表示を紹介します。
2022.09.22

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

どうも。CX事業本部Delivery部のえーたん(@eetann092)です。

以前から使っているPowerlevel10kのAWSのプロファイルの表示が便利なので紹介します。

Powerlevel10kとは?

Powerlevel10kは、zshでプロンプトの表示を簡単にカスタマイズできるプラグインです。

カレントディレクトリやGitのステータス、直前のコマンドの実行時間など、必要な情報を表示してくれます。

p10k configureを実行すると、以下のように質問形式で設定ファイルを作り上げてくれるのも魅力的です。

AWSのプロファイルの表示

以下のように、コマンドawsを入力すると、現在指定されているプロファイルが表示されます。

以下は、別の設定での表示です。

筆者が試した中では、p10k configureのどの組み合わせでもこの機能はデフォルトでオンになるようです(組み合わせが膨大で本当か確認できていないです)。

direnvと組み合わせる

direnvを使うと、ディレクトリ毎に環境変数を設定できます。

このdirenvで使うファイル.envrcが適用されるディレクトリでは、三角マークが表示されるようです。

direnvで環境変数AWS_PROFILEを書き換え、Powerlevel10kで表示させれば、ディレクトリを移動した時に自動でプロファイルが切り替わり、表示もされるので便利です。

AWS CLI以外でも表示させる

AWS CLI以外、たとえばcdkでもプロファイルを表示したい場合、Powerlevel10kで生成したzshファイル(~/.p10k.zshなど)を編集します。

- typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt'
+ typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt|cdk'

上記のように、POWERLEVEL9K_AWS_SHOW_ON_COMMANDに表示させたいコマンドを追加します。

常にプロファイルを表示させたい場合

常にプロファイルを表示させたい場合、typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|hoge'の行を削除またはコメントアウトします。

最後に

p10k configureによって生成されるファイルには、コメントアウトでたくさんのTipsが書かれており、今回はその情報を参考にしました。 Powerlevel10kによるプロンプトを細かく制御したい場合、一度その生成ファイルを読んでみると良いでしょう。