M1 Mac でシェルを fish + bobthefish + brew にした
シェルを標準のzshから便利なfishに変更
M1 Macを購入したのでシェルを標準のzshから便利なfishに変更しました。
(記事執筆時点でM2Macが出たばかりですが、私はボンビーなので型落ちでやっとM1 Macを手にしました...)
以前のMacでもfishを使っていたのでM1 Macでもやっていきます!
流れとしてはこんな感じ。
- zshにHome Brew インストール
- fishをインストール
- ターミナルの起動シェルをfishにする
- bobthefishを入れて便利にする
- ついでにfishでHome Brewを使えるようにする
zshにHome Brew インストール
もうインストールしてる人は飛ばしてね
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”
インストールは成功したが、以下のように「パスが通ってないよ」警告が出た場合
**Warning**: /opt/homebrew/bin is not in your PATH.
Instructions on how to configure your shell for Homebrew
can be found in the ‘Next steps’ section below.
パスを通す
~/.zshrc内にパスを定義
$ vi ~/.zshrc
.zshrcに以下の一文追加。
export PATH=/opt/homebrew/bin:$PATH # <-追加
.zshrc再読み込み
$ source ~/.zshrc
確認する
$ brew -v
Homebrew 3.5.6
Homebrew/homebrew-core (git revision b58675e72a8; last commit 2022-07-29)
完了!
fishをインストール
$ brew install fish
fishのインストール場所を確認。 (M1チップとintelチップだとここが若干違うらしい。)
$ which fish
/opt/homebrew/bin/fish
シェルが定義されているファイル~/etc/shells
に
先ほどの fishのパス ~/opt/homebrew/bin/fish
を追加。
$ echo /opt/homebrew/bin/fish | sudo tee -a /etc/shells
メモ
tee コマンドはファイルと標準出力の両方に出力。オプション-aは上書きでなく末尾に追加の意味。
確認
$ tail etc/shells
# one of these shells.
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/opt/homebrew/bin/fish
ターミナルの起動シェルをfishにする
まず、ログインシェル(ログインした際に起動するシェル)をfishに設定する。
ターミナルの環境設定のデフォルトで、ターミナルの起動シェルはログインシェルになっているので、特に理由がなければログインシェルの変更だけでいい。
$ chsh -s /opt/homebrew/bin/fish
そのままターミナルで新しいタブを開いてみるとfishが起動していることが確認できる。
(ターミナルの環境設定のデフォルトで、ターミナルの起動シェルはログインシェルになっているため)
Last login: Fri Jul 29 14:14:05 on ttys003
Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
yamashita@MacBook-Air ~>
bobthefishを入れて便利にする
メモ
これ以外にfish_config
でカスタマイズする方法も楽しそう。(今回はしない)
fisherのインストール
fishのパッケージ管理コマンドfisher
をインストールする。
$ curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisher
bobthefishのインストール
見た目が「便利かっこいい可愛い」になる。
$ fisher install oh-my-fish/theme-bobthefish
ターミナルの環境設定でフォントを変更
そのままだと文字化けして読めないので、ターミナル側でフォントを変更する。
Space Mono for Powerline
に変更。
ついでにfishでHome Brewを使えるようにする
今のままだと.zshrcにしかHome Brewのパスが通っていないので、
fish側にもHome Brewのパスを通す必要がある。
$ vi ~/.config/fish/config.fish
config.fishに以下の一文追加。
if status is-interactive
# Commands to run in interactive sessions can go here
# PATH
set PATH /opt/homebrew/bin $PATH # <-追加
end
確認
$ brew -v
以上!!
Discussion