【Mac】プロンプトをかわいくする方法【powerlevel10k】

みなさん、CUI、GUIのどっち派ですか？

CUIとはCharacter User Interfaceの略で、
![Screenshot 2025-03-02 at 20.47.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3660371/cb87cc4e-43b3-474b-89f5-f0bb736b859b.png)
↑こういうのです。

GUIとはみなさんが普段使っているアプリケーションに採用されているインターフェースで、Graphical User Interfaceの略です。

CLIの利点として
- 複雑なことができる
- カスタマイズ性が高い
- したいことを関数にすればすぐに実行できる

デメリットは、
- 間違えると最悪OS再インストール
- 難易度が高い

などがあります。

今回はそんなCUIの難点「触れにくいデザイン」を解決するpowerlevel10kというのを紹介します。

# 筆者の環境
![Screenshot 2025-03-02 at 22.05.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3660371/4aaf044f-d417-45e5-9afb-0331e5d1cbde.png)


# zshの設定

今回の設定では、zshを使用します。
zshの設定方法は以下の記事を参照してください。

https://qiita.com/atsutama/items/9378a0f9a0cf4cbcee5b

また、上の設定をするにはHomebrewが必要になります。
デフォルトで入ってないので、`brew install` あたりのコマンドで`command not found`が起こったら、以下のコマンドを実行してあげてください。

```console
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```

これでzshになったと思いますので、いよいよpowerlevel10kの設定を始めていきます。

# Powerlevel10kのインストール

まずは、gitのアイコンを表示するため、フォントをインストールしてあげる必要があるのです。

https://github.com/romkatv/powerlevel10k#fonts

こちらにある、[これ](https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf)をダウンロードしてください。

フォントファイルをダブルクリックすると、
![Screenshot 2025-03-02 at 22.07.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3660371/6df6a145-7eca-40c8-870a-bc1f58c9d5e5.png)

このような表示が出てきますので、Installボタンを押してあげてください
（筆者はインストール済みのため無効になってます）

インストールは次の2つのコマンドのみでできます。

```terminal
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
```
```terminal
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc
```

次に、フォントを適用します。
### terminal
上部のメニューより、Terminal > Settings
![Screenshot 2025-03-02 at 22.15.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3660371/ec2c5d00-90bd-461b-854c-fea742ee9c65.png)

Profilesを選択し、その中にあるFontsの横のChangeを押して、
`MesloLGS NF Regular` を選択し、お好みのフォントサイズを選択してください。

### iTerm2
上のメニューよりiTerm2 > Settings
![Screenshot 2025-03-02 at 22.19.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3660371/09f8206c-01e0-49fd-89e6-53ca2b804acb.png)

Profilesを選択し、右のメニューからTextを選んでください。
その下にあるFontsというところを、`MesloLGS NF`の`Regular`を選択してください。

これでフォントが設定できました。

そして、シェルを再起動します
```terminal
exec zsh
```
するとこんな感じでセットアップが始まるので、質問に答えていくだけです。
![Screenshot 2025-03-02 at 22.13.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3660371/279b2f32-8a9b-4d96-a2eb-fc2376ab1084.png)

:::note info
もう一度設定しなおしたい場合
```terminal
p10k configure
```
:::

で先ほどと同じ画面に行きます。

# 細かな設定
現在のままだとターミナルにあっていない色が表示されている場合もあるでしょう。
その場合は、
```
~/.p10k.zsh
```
を編集することで、細かな色を変えれたりします。

しかし、このファイル、とっっても長いです。
vimで見てみるとわかりますが、果てしないほどの長さです。

全部見ていたらきりがないので、お勧め項目を教えます

その前に、どの番号がどの色に対応しているかを確認する必要があります。
このコマンドで色のプレビューを見ることができます。

```terminal
for i in {0..255}; do print -Pn "%K{$i}  %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done
```

## OSのアイコン
該当行: 188~189
目印: ###### [ os_icon: os identifier ] ####

```.p10k.zsh
typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND =
typeset -g POWERLEVEL9K_OS_ICON_BACKGROUND =
```

左端のOSアイコンの色を変えられます

## 現在のディレクトリ
該当行: 218~220
目印: ###### [ dir: current directory ] ####

```.p10k.zsh
typeset -g POWERLEVEL9K_DIR_FOREGROUND =
typeset -g POWERLEVEL9K_DIR_BACKGROUND =
```

現在のディレクトリを表示しているバーの色を変えられます

## 現在のディレクトリ
該当行: 218~220
目印: ###### [ dir: current directory ] ####

```.p10k.zsh
typeset -g POWERLEVEL9K_DIR_FOREGROUND =
typeset -g POWERLEVEL9K_DIR_BACKGROUND =
```

現在のディレクトリを表示しているバーの色を変えられます

## 成功・失敗結果表示
該当行: 515-546
目印: ###### [ status: exit code of the last command ] ####

```.p10k.zsh
（一部）
typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND =
typeset -g POWERLEVEL9K_STATUS_OK_BACKGROUND =
```

成功、失敗を表示しているバーの色を変えられます。

## 実行時間表示
該当行: 560~561
目印: ###### [ command_execution_time: duration of the test command ] ####

```.p10k.zsh
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND =
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_BACKGROUND =
```

現在のディレクトリを表示しているバーの色を変えられます

# 変更の反映
変更の反映をするには、
- シェルを再起動
- 以下のコマンドを実行(zshの場合)
```bash
source ~/.p10k.zsh
```

# まとめ
どうでしたでしょうか。
こまかなところから自分好みにするだけで、作業のモチベーションが格段に向上すると思います。

みなさんのCLI人生がより良くなりますように。
ではまた。