7839

雑草魂エンジニアブログ

Macのターミナル設定「Starship」導入

Macのセットアップの際に、ターミナルが初期設定のままでは味気ないので、設定を変更したので備忘録として残しておく。

ターミナルではなく、iTerm2を使う選択肢もあったが、コーディングの際にはVSCodeを使って、VSCode内のTerminalを開いて使うことが多く、ターミナルで十分と判断した。

bash or zsh?

MacOS X 「Catalina」から標準のシェルが「zsh」に変更された。

そのため、「Catalina」以上にアップデートしてbashのままで使っていると、以下のメッセージが表示されていた。

The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.

zshbashよりも圧倒的にカスタマイズができる点とプラグインの豊富さがメリットであるが、使いこなせないので、Linuxと同様のbashのままで使うようにしている。

そのため、デフォルトをbashに変更。

chsh -s /bin/bash

bashの設定ファイル

bashには以下の3つの設定ファイルがある。

  • .profile
    • General setups for login
    • ログイン設定
  • .bash_profile
    • bash-specific setups for login
    • bash 固有のログイン設定
    • bash起動時に.profileは読み込まれなくなるので、.profileを読み込んでおく
    • ログイン時には.bashrcは読み込まれないので、.bashrcを読み込んでおく
  • .shrc
    • bash-specific setups for interactive shell
    • 対話シェル設定
    • 関数やaliasを記載
  • .bashrc
    • bash-specific setups for interactive shell
    • bash 用の対話シェル設定
    • bash 固有の関数やaliasを記載

そのため、.bash_profileには以下の設定を書き込んでおく。

# .bash_profile
# Get general setups
if [ -f ~/.profile ]; then
    . ~/.profile
fi

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

テーマを「iceberg」に変更

配色が淡い感じになって好きなので、「iceberg」を使っている。

Iceberg - dark blue color scheme for Vim / Neovim

設定方法

  1. 上記のページの一番下にある「Download」ボタンからファイルをダウンロードする
  2. Macのターミナルの「環境設定」を開く
  3. 「プロファイル」のタブを選択する
  4. 左下のメニューから「読み込む...」を選択し、ダウンロードしたファイルを読み込ませる
  5. 「Iceberg」のテーマが表示されるので、選択して「デフォルト」ボタンを押す

以上でテーマの設定が完了。

プロンプトを「Starship」に変更

プロンプトは「Starship」を使うことにした。

  • アイコンが可愛いw
  • 互換性優先でどのOSでも使用可能
  • Rust製で高速&信頼性が高い
  • 自由にカスタマイズ可能

インストール

brewで簡単にインストール可能。

brew install starship

初期設定

bashで使えるように、設定情報を書き込む。

echo 'eval "$(starship init bash)"' >> ~/.bashrc
source ~/.bashrc

NerdFontフォントのインストール

macOS (OS X) では Homebrew Cask Fonts を通じて全てのフォントが利用できる。

Nerd Fontの中でも、公式の例として使われていたのは「FiraCode Nerd Font」であった。その他では、「Hack Nerd Font」が有名のようであったので、Hackの方を採用した。

brew tap homebrew/cask-fonts
brew install --cask font-hack-nerd-font 
# or 
# brew install --cask font-fira-code-nerd-font 

インストール後、ターミナルの環境設定 > プロファイル から、フォントを「Hack Regular Nerd Font Complete 11(Hack Nerd Font)」に変更して、設定完了である。

カスタマイズ

mkdir -p ~/.config && touch ~/.config/starship.toml

上記で設定ファイルを作成し、少しカスタマイズをしてみた。

add_newline = true

[character]
success_symbol = "[>](bold green)"
error_symbol = "[✗](bold red)"

[username]
style_user = "white bold"
style_root = "black bold"
format = "user: [$user]($style) "
disabled = false
show_always = true

[directory]
truncation_length = 10
truncate_to_repo = false

[memory_usage]
disabled = false
threshold = -1
style = "bold dimmed green"
format = "via [${ram_pct} / ${swap_pct}]($style) "

[package]
disabled = true

[time]
disabled = false
format = '[\[ $time \]]($style) '

まとめ

ターミナルがカラフルになり、断然見やすくなりました!
使い勝手を確認しながら、引き続きカスタマイズしていきたい。