🐥

WSL2のターミナルをoh-my-poshでいい感じにする

2023/07/20に公開

WSL2のUbuntuのターミナル、味気ないですよね。

oh-my-poshを導入していい感じにしましたので紹介します。

ゴール

手順

  1. Nerd Fontをインストールする
  2. oh-my-poshをインストールするためにHomebrewをインストールする
  3. Homebrewでoh-my-poshをインストールする
  4. テーマを選んで$HOMEにコピーする
  5. .profileに設定を追加する
  6. VSCodeのターミナルでも適用されるように設定する

1. Nerd Fontをインストールする

まず、oh-my-poshで使うNerd Fontをインストールします。

Nerd Fontはブランチのアイコンなどを表示するために利用します。

https://www.nerdfonts.com/font-downloads

今回はHackというフォントにNerd Fontを追加したものをダウンロードします。

この画面からフォントのプレビューが見れますが、これはNerd FontじゃなくてHackのプレビューになるので注意。

このページのWebsiteというところを押してフォントを入れても、Nerd Fontは入ってません。(一敗)

https://www.programmingfonts.org/#hack

ダウンロードしたものを解凍し、フォントをインストールします。

ターミナルを開き、設定からHack Nerd Fontを選択します。

2. Homebrewをインストールする

以下の通りHomebrewをインストールします

https://brew.sh/

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

以下のドキュメントを参考にパスを通します。

https://docs.brew.sh/Homebrew-on-Linux#install

test -d ~/.linuxbrew && eval "$(~/.linuxbrew/bin/brew shellenv)"
test -d /home/linuxbrew/.linuxbrew && eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
test -r ~/.bash_profile && echo "eval \"\$($(brew --prefix)/bin/brew shellenv)\"" >> ~/.bash_profile
echo "eval \"\$($(brew --prefix)/bin/brew shellenv)\"" >> ~/.profile

3. oh-my-poshをインストールする

以下のドキュメントを参考に、インストールを行います。

https://ohmyposh.dev/docs/installation/linux

brew install jandedobbeleer/oh-my-posh/oh-my-posh

自分の環境の場合、ここでエラーが発生しました。

Error: The following formula cannot be installed from bottle and must be built from source.
  oh-my-posh
Install Clang or run `brew install gcc`

ということでgccをインストールします。

brew install gcc

しかし、インストールが完了したのに同じエラーのままでした。

調べてみるとbuild-essentialというものが必要だったみたいです。

https://github.com/JanDeDobbeleer/oh-my-posh/issues/1325

以下のコマンドでインストールします。

sudo apt install build-essential

このコマンドの後、再度oh-my-poshをインストールします。

brew install jandedobbeleer/oh-my-posh/oh-my-posh

これでoh-my-poshのインストールは完了です。

4. テーマを選ぶ

以下のページから好みのテーマを選び、ファイルを$HOMEにコピーします。

コピーしなくてもパスを持っておくだけでもいいかもしれません。

https://ohmyposh.dev/docs/themes

今回はtokyonight_stormというものを利用します。

cd $(brew --prefix oh-my-posh)
cp themes/tokyonight_storm.omp.json ~/tokyonight_storm.omp.json

5. .profileに設定追加

次に~/.profileファイルにbash起動時にoh-my-poshを実行する設定を追加します。

eval "$(oh-my-posh init bash --config ~/tokyonight_storm.omp.json)"

これでターミナルアプリの設定は完了です。新しくターミナルを開いて反映されていればOKです。

6. VSCodeのターミナルにも適用する

今のままだとVSCodeで開くターミナルはそのままになっています。

まずは設定からターミナルのフォントをHack Nerd Fontに変更します。

次に、コマンドパレットを使ってsettings.jsonを開き、以下の設定を追加します。

  "terminal.integrated.profiles.linux": {
    "bash": {
      "path": "bash",
      "icon": "terminal-bash",
      "args": ["-l"],
    },
    "zsh": {
      "path": "zsh"
    },
    "fish": {
      "path": "fish"
    },
    "tmux": {
      "path": "tmux",
      "icon": "terminal-tmux"
    },
    "pwsh": {
      "path": "pwsh",
      "icon": "terminal-powershell"
    }
  },
  "terminal.integrated.defaultProfile.linux": "bash"

VSCodeのターミナルを新しく開いて、反映されていれば完了です!

お疲れさまでした!

参考にさせていただいたサイト

https://learn.microsoft.com/ja-jp/windows/terminal/tutorials/custom-prompt-setup#install-a-nerd-font

https://qiita.com/y-vectorfield/items/88d21202066807936655

GitHubで編集を提案

Discussion