My External Storage

Aug 18, 2019 - 6 minute read - Comments - dotfiles

新しいMacに開発環境を構築(移行)したときに行なうこと

最近開発用の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の設定

会社のリポジトリに個人のメールアドレスでコミットしたくなかったり、会社で使うときだけ必要な設定がある。 gitconfigincludeという別のファイルの設定をimportできる設定があるので、これを最後に書いておく。

私の場合は、.gitconfig.localファイルがホームディレクトリにあればそこに書いてある設定で諸々の設定を上書きするようにしてある。 最近はincludeifもあるらしいので、好きなほうを使えば良いと思う。

Zshの設定

プラグインマネージャを使って.zshrcを書いたらdotfilesリポジトリに保存しておく。 私はzpluginを使うようにした。新しいPCでdotfilesclone、ホームディレクトリに.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」を行えば、他のインストールしていたプラグインやスニペットなどの設定が全て引き継がれる。

Brewで管理しているアプリ

Mac利用者はHomeBrewでアプリを管理していることが多いと思う。HomeBrewは.Brewfileにインストールしたアプリリストを保存して新しいPCに移行できる。

fzfpecojqtmuxなどの便利ツールはこのステップでインストールが終わる。 HomeBrew経由でインストールしていれば、GUIアプリもこれでインストールが完了する。

macOSの設定

Apple Scriptを使えば各種設定も自動化できるらしいのだが、私はまだそこまでできていないので、もろもろ手動で設定している。 私がやる設定変更は以下

clipyの設定

クリップボードにバッファをもたせたり、スニペットを登録できるので、clipyというソフトを使っている。 調査に使うSQLクエリや、JIRAなどに記載するお決まり文句などをスニペットに登録しておくと便利だ。 古いPCのClipyの「スニペットの編集」画面からスニペットをXMLでエクスポートして引き継げる。

iTunesでやっておくこと

iTunesは1アカウントで利用できるデバイス数に制限がある。古いPCを処分する前に連携を解除するのを忘れないこと。

移行前のPCでiTunesのメニューから「アカウント」→「認証」→「このPCの認証を解除」

終わりに

dotfilesがあったので比較的ラクに環境構築が終わった。
今回、フォントインストールを間違えていてずっとiTerm2の文字化けにハマっていたので、書き起こしておくことにした。
ただ、Macの設定は全部手動でやったので、Apple Scriptに落とし込んでおいたほうが良さそうだ。
自分用のメモだがどなたかの参考になれば幸い。また、「これはこうすればもっと簡単に自動化できるよ!」というのをご存知の方がいらっしゃったら教えていただけると嬉しい。

参考

関連記事