最近開発用のMacの入れ替えを行なったので、新しいPCを使うときに行なう環境構築のメモ。 ブログ記事を書くときは一般的な内容になるよう心がけているが、今回は自分用のメモになっている。
TL;DR
dotfiles
リポジトリを作っておくと便利- 私は加えて
homeshick
を使っている - https://github.com/andsens/homeshick
- VimやZshの設定はこれでひきつぐ
- 会社用のgitの設定は別ファイルにしておいて
.gitconfig
ファイル内でinclude
を使ってロードするようにしておく - 機密情報を含んだ環境変数も別ファイルにして
source
で読み込むようにしておく
- 私は加えて
- Brewでインストールしたアプリや設定は
brew bundle
で引き継げる - VS Codeの設定の引き継ぎはCode Settings Syncを使う
- MacOSの設定もApple Scriptにしておいたほうが良い。
- caps lockを変更する、キーリピートを最速にする、など
なお、個別のプラグインなどの紹介などはしていない。私の開発用の設定は以下のリポジトリにある。
dotofileの設定
各種設定ファイルはGitHub上で管理している。
homeshick
というCLIツールを使うと簡単にホームディレクリにsymlink
ができるのでラクだ。
以下の流れで設定が終わる。
git clone https://github.com/andsens/homeshick.git $HOME/.homesick/repos/homeshick
source $HOME/.bashrc
homeshick clone https://github.com/budougumi0617/dotfiles.git
環境変数の設定
ドットファイルはGitHubで管理する…と言っても、GitHubにアップロードできないトークン情報などを環境変数に書いてexport
したりしていると思う。
私の場合そういう環境変数は.bashrc
に記載している。.zshrc
の中でsource
を使って.bashrc
を読み込む(ファイル名が.bashrc
の必要はないのだけれど)。
$ cat ~/.zshrc
...
source ~/.bashrc
...
gitconfigの設定
会社のリポジトリに個人のメールアドレスでコミットしたくなかったり、会社で使うときだけ必要な設定がある。
gitconfig
はinclude
という別のファイルの設定をimport
できる設定があるので、これを最後に書いておく。
$ cat ~/.gitconfig
[user]
name = budougumi0617
...
[include]
path = .gitconfig.local
私の場合は、.gitconfig.local
ファイルがホームディレクトリにあればそこに書いてある設定で諸々の設定を上書きするようにしてある。
最近はincludeif
もあるらしいので、好きなほうを使えば良いと思う。
Zshの設定
プラグインマネージャを使って.zshrc
を書いたらdotfiles
リポジトリに保存しておく。
私はzplugin
を使うようにした。新しいPCでdotfiles
をclone
、ホームディレクトリに.zshrc
を置いたら、zplugin
をインストールし、デフォルトシェルをzsh
に変えておく(macOS
のデフォルトシェルはそのうちZshになるらしいが)
# https://github.com/zdharma/zplugin#installation
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/zdharma/zplugin/master/doc/install.sh)"
$ chsh -s /usr/local/bin/zsh
あとは次回ターミナル起動時に各種プラグインが自動でダウンロードされる。
ターミナルの表示をいじっているので、SourceCodePro+Powerline+Awesome+Regular.ttf
をインストールしないと文字化けする。
通常のPowerlineフォントはここにある。
Vimの設定
dein.vim
でプラグイン管理しているので、Vimの初回起動時にもろもろインストールされる。
一部のプラグインが依存しているpythonのプラグインだけ手動でインストールする必要がある。
$ pip3 install pynvim
VS Codeの設定
VS Codeの設定はSync
プラグインを使ってGist経由で共有できる。
予め古いPCで「Upload Your Settings」をしておく。
プラグインインストール時に古いPCで連携していたGistを選択して「Download your Settings」を行えば、他のインストールしていたプラグインやスニペットなどの設定が全て引き継がれる。
- Settings Sync | VisualStudio Marketplace
- https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync
Brewで管理しているアプリ
Mac利用者はHomeBrewでアプリを管理していることが多いと思う。HomeBrewは.Brewfile
にインストールしたアプリリストを保存して新しいPCに移行できる。
fzf
、peco
、jq
、tmux
などの便利ツールはこのステップでインストールが終わる。
HomeBrew経由でインストールしていれば、GUIアプリもこれでインストールが完了する。
macOSの設定
Apple Scriptを使えば各種設定も自動化できるらしいのだが、私はまだそこまでできていないので、もろもろ手動で設定している。 私がやる設定変更は以下
xcode-select --install
- お作法…
- ディスプレイを増やしてショートカット割当をする
- macOSでディスプレイ1枚で作業する技術
- 便利なので知ってからずっとやっている。
caps lock
をctrl
に変更する- Mac OS XでCaps Lockキーを無効化したり、他の修飾キーに入れ替えたりする方法
- caps lockがなくて困ったことが一度もないのに、なんであんないい位置にあるのだろうか?
⌘英かな
のインストール- https://ei-kana.appspot.com/
- USキーボードなので。macOSの設定でcaps lockがいじれるのでKarabinerは止めてしまった。
mini calendar
のインストール- Mac のメニューバーやドックからカレンダーを確認できる Mini Calendar
- さっとカレンダー見れて便利
- メニューバーの並びは
command
キーをクリックしながらドラッグアンドドロップで変更できる
Clipy
のインストール- Touch BarからSiriを消す
- システム環境設定→キーボード→Touch Barをカスタマイズ
- 初期配置だと
delete
をクリックするときにたまに誤タッチしてめんどくさい
- キーリピートなどを最速にする
- これしないとVimが不便
clipyの設定
クリップボードにバッファをもたせたり、スニペットを登録できるので、clipyというソフトを使っている。 調査に使うSQLクエリや、JIRAなどに記載するお決まり文句などをスニペットに登録しておくと便利だ。 古いPCのClipyの「スニペットの編集」画面からスニペットをXMLでエクスポートして引き継げる。
iTunesでやっておくこと
iTunesは1アカウントで利用できるデバイス数に制限がある。古いPCを処分する前に連携を解除するのを忘れないこと。
移行前のPCでiTunesのメニューから「アカウント」→「認証」→「このPCの認証を解除」
終わりに
dotfiles
があったので比較的ラクに環境構築が終わった。
今回、フォントインストールを間違えていてずっとiTerm2の文字化けにハマっていたので、書き起こしておくことにした。
ただ、Macの設定は全部手動でやったので、Apple Scriptに落とし込んでおいたほうが良さそうだ。
自分用のメモだがどなたかの参考になれば幸い。また、「これはこうすればもっと簡単に自動化できるよ!」というのをご存知の方がいらっしゃったら教えていただけると嬉しい。
参考
- 最強の dotfiles 駆動開発と GitHub で管理する運用方法
- https://github.com/zdharma/zplugin
- https://github.com/Shougo/dein.vim
- https://github.com/andsens/homeshick
- https://github.com/Homebrew/homebrew-bundle
- https://github.com/powerline/fonts
- Falkor/dotfiles/fonts/SourceCodePro+Powerline+Awesome+Regular.ttf
- Mini Calendar
- Clipy
- ⌘英かな
- brew bundleでMacのアプリをまとめてインストール・管理
- macOSでディスプレイ1枚で作業する技術