はじめに
Mac 買い替えて 移行アシスタント使って移行しようと試みましたが、有線接続でないと移行する時間めちゃくちゃ掛かりそうだったので、これを機に環境構築し直す方法を考えてみることにしました。
完全に自分用のメモになってしまうため、あまり参考にはならないと思いますが、「こうやって環境作っている人もいるんだなあ」みたいに眺めて暇をつぶしてもらえたらなと思います。
やること一覧
Finder の設定
iMac/MacBook購入後に必ず設定したい設定項目 を参考に、ターミナルを起動し以下のコマンドを入力する。
# デフォルトで隠しファイルを表示する
$ defaults write com.apple.finder AppleShowAllFiles -bool true
# USBやネットワークストレージに.DS_Storeファイルを作成しない
$ defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
$ defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true
# 設定反映
$ killall Finder
その他、上のリンクを参考にお好みなやつを設定する。
Xcode と Homebrew
Xcode
-
Xcode
をAppStore
からインストールする。- ターミナルを起動し以下のコマンドを入力して、
Command Line Tools
のインストールを行う。
- ターミナルを起動し以下のコマンドを入力して、
$ xcode-select --install
Homebrew
https://brew.sh/index_ja をもとに以下をコピペして実行することで Homebrew をインストールする。
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
インストール完了後に以下のように実行して確認する。
$ brew doctor
問題があった場合、今のうち解決しておいてください。
また、以下でも、こまめに brew doctor
を入力するようにお願いします。
Google Chrome 関連
- **
Google Chrome
** をインストールする。
$ brew cask install google-chrome
-
Google Chrome
のアカウント同期を行う。 - 好きなフォントをインストールして
Google Chrome
に設定する。
キーボード入力関連
-
Google 日本語 IME
をインストールする。
$ brew cask install google-japanese-ime
-
英数 (Google)
とひらがな (Google)
のみにする。 - キーのリピートとキーのリピート認識時間をお好みに変える。
- キーボードの修飾キーをお好みに変える。
- システム環境設定 -> キーボード -> 入力ソース -> ショートカット ->
Ctrl + Space
で日本語切り替えできるように設定する。
Visual Studio Code のインストール
いつの間にか使い慣れてしまったエディタ Visual Studio Code
をインストールしておき、設定ファイルとかを書き換える必要がある場合に備えておきます。
$ brew cask visual-studio-code
anyenv のインストール
xxx-env
系が多すぎるのでこれを機に anyenv に統一してしまいます。
$ brew install anyenv
$ anyenv init
入れ終わったら必要なもの適当に入れてください。以下は例です。
$ anyenv install rbenv
$ anyenv install pyenv
$ anyenv install nodenv
$ exec $SHELL -l
おそらく、Homebrew で入れた場合、下のコマンドを実行する必要があると思われます。
というのも anyenv init
しただけでは、私の環境だと .zshrc
に eval "$(anyenv init -)"
←書けと言われてしまいます。
$ echo 'eval "$(anyenv init -)"' >> ~/.zshrc
$ exec $SHELL -l
.zshrc
はどうせ後で dotfiles
で上書きすることに注意してください。
iStats のインストール
私の趣味ですが、iStats をこの時点でインストールしてしまいます。
iStats は gem
を使ってインストールするので $ anyenv install rbenv
を先に行っておく必要があります。
# インストール可能なバージョンの一覧
$ rbenv install -l
# とりあえず、最新バージョンをインストールする。
$ rbenv install 2.7.1
# バージョンを切り替えない場合、システムの gem を使おうとするので切り替える。
$ rbenv global 2.7.1
# iStats のインストール
$ gem install iStats
# 動作チェック
$ istats -h
$ istats scan
$ istats enable all
$ istats
Python のインストール
のちほど、Powerline を pip
でインストールするため、pyenv を使って Python
のインストールを済ましておきます。
# インストール可能なバージョンの一覧
$ pyenv install -l
# とりあえず、最新バージョンをインストールする。
$ pyenv install 3.8.3
# バージョンを切り替えない場合、システムの pip を使おうとするので切り替える。
$ pyenv global 3.8.3
ここでおそらく、brew doctor
で config
関連の警告が出ると思われるので、.zshrc
に以下を記述しておきます。
alias brew="env PATH=${PATH//$(pyenv root)\/shims:/} brew"
多分、↓をコピペ実行でもいけます。また、↑と同様の内容が dotfiles
のほうにも記述されているか確認しておいてください。
$ echo `'alias brew="env PATH=${PATH//$(pyenv root)\/shims:/} brew"' >> .zshrc`
ただし、config
ファイルが増えると、このやり方では厳しくなっていくと思われるので注意が必要です。
Oh-My-Zsh のインストール
別に Oh-My-Zsh でなくてよいのですが、なんか完全にこれを上書きできるようなフレームワークがないようでしたので、これを継投させることにしました。
はっきり言って、そもそもシェルも zsh
である必要はなく、 fish
に乗り換えてしまうというのもありだと思います。
今回はまだその時期ではないかなと思っただけで、環境の再構築をする際には、この部分 (zsh 周り) は常に議論の余地があります。
↓をそのまま実行すると既存の .zshrc
に上書きするのでお気をつけください。
さすがに、tmp ファイルのような残骸は存在するようですが。
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
インストール後、Catalina
の場合、ディレクトリの権限が安全ではないと怒られるようです。
推奨どおりに↓を実行するとだいたい消えると思われます。
$ compaudit | xargs chmod g-w,o-w
Zsh
に関してはとりあえず、システムの Zsh
を継投させることにしました。
なにか問題があったら Brew
の Zsh
にします。
iTerm2 のインストール
今更ですが、ここで iTerm2 を入れておきます。
入れ忘れていただけなので、実際は Visual Studio Code
を入れるタイミングで同時に入れてしまっていいと思います。
$ brew cask install iTerm2
tmux のインストール
$ brew install tmux
$ tmux --version
tmux の動作を確認しておいてください。
Powerline のインストール
$ pip install powerline-status
インストールできたら ~/.config/powerline
にシンボリックリンク作っておきます。
$ ln -s ~/.anyenv/envs/pyenv/versions/3.8.3/lib/python3.8/site-packages/powerline ~/.config/powerline
この時点で、↓を .zshrc
や tmux.conf
に書き込んで、powerline の動作を確認してもいいです。
# powerline
if [[ -f ~/.config/powerline/bindings/zsh/powerline.zsh ]]; then
powerline-daemon -q
. ~/.config/powerline/bindings/zsh/powerline.zsh
fi
# powerline
if-shell "test -f ~/.config/powerline/bindings/tmux/powerline.conf" \
"source ~/.config/powerline/bindings/tmux/powerline.conf"
Powerline 用の フォントをインストール
Powerline で使用できる日本語フォントをここでインストールしておきます。
Ricty for Powerline のインストール
Powerline でも使える Ricty フォントをインストールしておきます。
brew tap
コマンドを使用します。
# 今回は sanemat さんのリポジトリを使わせてもらいます。
$ brew tap sanemat/font
# ricty が追加されていることと、options に --with-powerline があるかを確認しておく。
$ brew search ricty
$ brew options ricty
# ricty のインストール
$ brew install ricty --with-powerline
# フォントのコピー(cp -f /PATH/TO/RICTY/fonts/Ricty*.ttf ~/Library/Fonts/)
$ cp -f /usr/local/opt/ricty/share/fonts/Ricty*.ttf ~/Library/Fonts/
# フォントのキャッシュ更新
$ fc-cache -vf
インストールが完了したら、iTerm2 のフォントを Ricty for Powerline
に設定して、うまく描画されていることを確認してください。
nerd-fonts のインストール
$ brew tap homebrew/cask-fonts
$ brew cask install font-hack-nerd-font
好きなフォントを選んでください。
私は デフォルトフォント に Ricty for Powerline
を、Non-ASCII Font に nerd-font
をそれぞれ設定しました。
Git のインストール
dotfiles
の Git リポジトリを落とす必要があるので、先に Git をインストールしておきます。
# そもそも Git が入っているか確認する。
$ git --version
# brew で入れ直す。
$ brew install git
$ exec $SHELL -l
# 新しい Git になっているか確認する。
$ git --version
汎用的なツールをインストール
ここでは、環境ごとに必要なものではなく、どんな環境下でもほしいツールをインストールしてしまいます。
汎用ツールゆえに、なるべく Brew
でインストールしておこうと思います。
キリがないので適当に切り上げてます。
$ brew install peco
$ brew install ghp
$ brew install glances
$ brew install jq
$ brew install lsd
$ brew install fd
$ brew install ripgrep
$ brew install rga
$ brew install procs
$ brew install bat
$ brew install git-delta
...
$ brew doctor
Dotfiles のインストール
自分のリポジトリから Dotfiles
のインストールを行う前に、いままでの設定と前のPCの設定で整合性が取れるように Dotfiles
を編集しておいてください。
$ git clone https://github.com/username/dotfiles
このあと適当にシンボリックリンクをはり、動作の確認をお願いします。
うまく行かなかった部分は、きちんと Fix して push しておきましょう。
おわり
基本的な設定は以上になります。
基本的な設定に抑えたため、この設定が足りないなどはあると思いますが、それは各々必要な部分を考えて入れるようにお願いします。
おつかれさまでした。