これは、node:18.13.0-bullseye を使った Dev Container について、Powerline 実装のひとつである starship を使えるようにしたものです。
以下の説明では、この README.md があるディレクトリーを ${DC_DIR} と表します。
devnode-starship を動作をさせるには、次のものが必要です。
- Doker Engine
- Docker Compose Plugin
これらは Docker Desktop をインストールしてあれば使えるようになっているはずです。
初めて使う場合は「準備」に書いてある作業をしてください。 それから、次のようにして devnode-starship コンテナーを起動した後に、コンテナーへアタッチします。
cd ${DC_DIR}
docker compose up -d
docker compose exec devnode-starship bashstarship の plain-text-symbols というプリセットを少しカスタマイズしてあります。 実行例は次のようになります。
$ docker compose exec devnode-starship bash
~
⬢ [Docker] 🐳> cd Download/
~/Download
⬢ [Docker] 🐳> ls
starship starship-x86_64-unknown-linux-musl.tar.gz
~/Download
⬢ [Docker] 🐳> devnode-starship コンテナーで使う devnode-download-data ボリュームの作成と、使用する starship のバイナリファイルをダウンロードをします。そのための docker-starship-admin コンテナーを用意してあるので、次のようにコマンドを実行します。
cd ${DC_DIR}
cd admin
docker compose run --rm devnode-starship-admin sh /script/download_starship.sh
docker compose run --rm devnode-starship-admin chown node:node /home/node/Download
docker compose down以上で、準備はおしまいです。
${DC_DIR}/script/install_starship.sh で /home/node/.config/starship.toml を用意しています。
使用する /home/node/.config/starship.toml をカスタマイズしたものになるようにスクリプトを修正してください。
なお、ここでは Nerd フォントがなくても使える plain-text-symbols プリセットを使っていますが、ターミナルのフォント設定について、Nerd フォントの 白源フォント のコンソール向けフォントを使うようにすると、starship の Nerd フォント前提のプリセットである tokyo-night などもきれいに表示されるようになります。
プログラミング言語 Rust で実装された Powerline です。 starship は Nerd フォントがなくても、それなりの表示をしてくれるプリセットがあり、実行ファイルも単体で提供されているので、最初に使ってみる Powerline 実装としてお薦めです。
プリセットは Presets | Starship を見て選ぶと良いでしょう。plain-text-symbols, pastel-powerline, tokyo-night, bracketed-segments などがあります。