GitHub と homesick を使って複数 Mac 間で dotfiles を同期する

GitHub と homesick を使って複数 Mac 間で dotfiles を同期する

2013.11.19

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

複数 Mac 間で、.vimrc.zshrc などの設定ファイル(dotfiles)の同期って面倒くさいですよね。
dotfiles の管理には、GitHub とシェルで管理したり、Dropbox を使ったりあるようですが、
最近 homesick という gem を教えてもらい、簡単に管理することができたので、私はコレを使っています。

用意するもの

  • GitHub のアカウント
  • Mac *1

homesick のインストール

homesick は gem install で簡単にインストールできます。

			
			
$ gem install homesick

		

rbenv を使ってる場合は、rehash しておきましょう。

			
			
$ rbenv rehash 

		

GitHub に dotfiles リポジトリを作成

GitHub にリポジトリを作成します。

先ずは、ローカルに dotfiles ディレクトリを作成し、git init しておきます。

			
			
$ mkdir ~/dotfiles && cd ~/dotfiles
$ git init
Initialized empty Git repository in /Users/yamato/dotfiles/.git/

		

次に home ディレクトリを作成し、その中に管理したい dotfiles をコピーします。

			
			
$ mkdir home && cd home
$ cp ~/.vimrc . 
$ cp ~/.zshrc .

		

GitHub にリポジトリを作成します。ここでは GitHub をコマンドラインから操作できる Hub を使っています。

			
			
$ hub create
Updating origin
created repository: yamato_no_github/dotfiles

		

作成が終わったら、push しましょう。

			
			
$ git add .
$ git commit -m 'Initial commit'
$ git push -u origin master

		

dotfiles を homesick 管理下に置く

今作ったリポジトリを homesick clone コマンドによって GitHub から clone します。

			
			
$ homesick clone yamayo/dotfiles
git clone  https://github.com/yamato_no_github/dotfiles.git to /Users/yamato/.homesick/repos/dotfiles

		

~/.homesick/repos/dotfiles に clone されます。

ホームディレクトリに移り、symlink コマンドでシンボリックリンクを貼ります。

			
			
$ cd ~ && homesick symlink dotfiles 

		

作成されたシンボリックリンクを確認しましょう。

			
			
$ ls -la
・・・
・・・ .vimrc -> /Users/yamato/.homesick/repos/dotfiles/home/.vimrc
・・・ .zshrc -> /Users/yamato/.homesick/repos/dotfiles/home/.zshrc
・・・

		

homesick で clone してくると remote.origin.urlhttps になっているので、ssh に変更しておきます。

			
			
$ cd ~/.homesick/repos/dotfiles
$ git config --list | grep remote.origin.url
remote.origin.url=https://github.com/yamato_no_github/dotfiles.git 
$ git config remote.origin.url git@github.com:yamato_no_github/dotfiles.git

		

あとはこの ~/.homesick ディレクトリで管理するので、最初に作った dotfiles ディレクトリは削除しておきましょう。

			
			
$ rm -rf ~/dotfiles 

		

これで他の Mac からも homesick をインストールし clone することで同期できるようになります。

まとめ

最近は、Boxen などを使って Mac のコンフィグを行ったり、自動化を行うツールも増えてきていますね。
なるべく同じ作業は減らして、世界を変えるためのコードを書いていきたいですね。

参考サイト

http://dotfiles.github.io/

脚注

  1. Windows では試していません。。

この記事をシェアする

FacebookHatena blogX

関連記事