Windows Terminalにstarship導入したんだよん


iTerm2とstarshipでterminalとshellをお洒落にしました!の記事を見て、自分もやってみたいなと思ったのでやってみたんだよん。
ただし、環境はWindows Terminal & PowerShellだよん。
説明文もだよんだよんしてたらくどかったからやめたんだよん

作業の流れ

  1. Windows Terminal + starship環境のために必要なものを事前に準備
  2. Windows Terminalとstarshipをインストール
  3. それぞれの環境設定ファイルをカスタマイズ

事前準備

starshipのインストールガイドから、以下の準備が必要なことが分かる。

  • Powerlineフォント
  • scoop

Powerlineフォント

やみかわスタイルに揃えるため、フォントはFiraCode Nerd Fontを選択。[DL]
もちろん、他のPowerlineフォントでもOK。
ダウンロードしたフォントからRegularを選んでダブルクリックすると下の画像のようなWindowが表示されるので、インストールをクリック。

scoop

scoopはwindowsのパッケージ管理システム的なもの(aptみたいな)(説明が雑)
Windows環境でstarship導入するには、おそらくこれが一番楽でしょう。
scoop公式にインストール方法が載っているので、さくっと導入。

PowerShell
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')

インストール

Windows Terminal

Windows Storeからインストールするか、scoopのextras bucketから導入することができます。
starship用にscoopを入れたし、せっかくなので(?)scoopからインストール。

PowerShell
scoop bucket add extras
scoop install windows-terminal 

extras bucketとはなんぞや、という点についてはこちらの記事をどうぞ。

starship

インストールガイドのscoopの場合に従って、コマンドを入力

PowerShell
scoop install starship

次に初期化スクリプトの記述ですが、環境によって記述先が変わる模様。
古いPowerShell(手元だと5.1.18362.628)だと~/Documents/WindowsPowerShell/Microsoft.PowerShell_profile.ps1
最新(7.0.0)なら~/Documents/PowerShell/Microsoft.PowerShell_profile.ps1がデフォルトのようです。
手元のPowershellで$PROFILEを表示させた先に書き込むのが確実です。

設定ファイルの変更

インストールすればとりあえずデフォルトの設定で動くんですが、きれいに表示されないはず(主にフォントのため)
ということで、設定を変更していきます。

Windows Terminal設定

設定ファイルは、Windows Terminalがアクティブな状態でCtrl+,を入力すると開きます。
ひとまずPowerShell環境のフォントを変えるので、こんな感じに。

settings.json
{
    ...
    "profiles": [
        {
            // Make changes here to the powershell.exe profile
            "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
            "name": "Windows PowerShell",
            "commandline": "powershell.exe",
            "hidden": false,
            "fontFace": "FiraCode Nerd Font"
        },
    ...
    ]
}

Windows Terminalはまだβ版(現時点で0.9.433.0)なので、設定方法も今後変わる可能性があります。環境構築時点での最新情報は要チェック!

starship設定

~/.config/starship.tomlにファイルを作成して、設定を書いていけばOK。
まあ今の私の設定は参考にした記事のスタイルまんまですが…

環境構築結果


というわけで、Windows Terminal + starshipでやみかわPowerShellだよん。
あとはiTerm2で設定しているカラー設定をWindows Terminalのカラースキーマに落とし込めれば完璧でしたが、sRGB形式のエクスポートファイルの内容をColor Codeに変換できないんだよん……