ChefでOS Xの環境セットアップする

tcnksm/chef-dev-env をつくった.以下のことができる.

  • Homebrewパッケージのインストール
  • dmgパッケージのインストール
  • rubygemsのインストール
  • dotfilesのインストールとセットアップ

OS X特有のレシピだとDockの設定とかできそうだけど,得にデフォで問題ないからやってない. ここまできたら,AppStoreからのダウンロードもできたらなと思う.

インストール対象のパッケージはdata_bugsを使うといろいろ分けてすっきり書けた. 作業してて,これ使うなーと思ったらここにどんどん貯めていく感じで.

#data_bags/packages/homebrew.json
{
    "id": "homebrew",
    "targets": [
                "tig",
                "coreutils",
                "go",
                ....
                ]
}

で,後は以下のようにrecipeから呼び出して一気にインストール.

item = data_bag_item(:packages, "homebrew")

Ubuntuでの開発もやったりするからnode追加して,Ubuntu用も作る予定.

Chefの勉強のために始めた.こうやって自分の環境をコード的に作っていくのすごい楽しかった.

Chefの基礎と各ディレクトリの役割とかは“入門Chef Solo - Infrastructure as Code”を読んでほとんど理解できた.ChefをつかったOS Xのセットアップに関しては以下を参考にした.