LoginSignup
23
23

More than 5 years have passed since last update.

osxcでMacの開発環境構築を自動化する

Posted at

概要

brew bundle Brewfile の代替を探していたところ、
osxc というものがありましたので、導入してみました。

Ansible を利用して Homebrew を操作しているツールです。
Ansible の要領で Mac のセットアップを記述できますので、
brew bundle Brewfile ではできなかった設定も施すことができます1

導入

osxc/starter の README によると、
公式ページで紹介されているやり方は古くなっているようですので、
README に記載されている手順を参考に導入します(一部改変しています)。

  1. XCode Command-Line tools 導入

    xcode-select --install
    

    上記のやり方でインストールできない場合、以下の対応を行います。

    参照:Manual Install of Xcode command line tools not working

    1) Open Xcode app.
    2) Click on Xcode > Open Developer Tools > More Developers Tools.
    3) Download Command Line Tools for your Mac OS X version.
    

    あるいは、 Xcode を介さずデベロッパポータルから直接インストールします。
    こちらの手順であれば、 Xcode のインストールは不要です。

    https://developer.apple.com/downloads/index.action
    Downloads for Apple Developers -> Command Line Tools
    
  2. Homebrew 導入

    公式ページで最新の手順を確認し、導入します2

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    brew doctor
    brew -v
    brew update
    
  3. Ansible 導入

    brew install ansible
    
  4. osxc 導入

    git clone https://github.com/osxc/starter.git ~/osxc
    cd ~/osxc
    ansible-galaxy install -r requirements.yml
    
  5. インストール設定調整

    インストールしたいツール・行いたい処理に関して、
    既に記述されているサンプルを参考に設定を行います。

    vi configuarion.yml
    vi install.yml
    
  6. osxc 実行

    ansible-playbook desktop.yml
    

2台目以降の PC であれば、
osxc は自分用にカスタマイズしたリポジトリからクローンする形が良さそうです。
GitHub 上で Fork したのであれば、そのリポジトリを使います。

ディレクトリ構造

.
├── LICENSE
├── README.md
├── ansible.cfg
├── configuration.yml
├── desktop.yml
├── dotfiles
│   ├── tmux.conf.local
│   ├── vimrc.bundles.local
│   ├── vimrc.local
│   └── zshrc
├── install.yml
├── inventory
├── requirements.yml
└── roles
    ├── osxc.common-env
    ├── osxc.homebrew
    ├── osxc.packages
    └── osxc.repository

ワークフロー

インストールする物に関しては install.yml に、
インストール後の設定ファイル設置などは configuration.yml に記述します。

desktop.yml から install.yml, configuration.yml の順に呼び出している形で、
ansible-playbook desktop.yml として実行します。

慣れない内は、ansible-playbook install.yml として、
install.yml のみを実行する形でも良さそうです。
それだけでも brew bundle Brewfile でやっていたことはカバーできます。

課題

  • 結局、1~5までは手作業を強いられますね…。
  • 管理者権限が求められる際、パスワード入力待ち状態になります。
    処理を走らせて放置とはいかず、定期的に様子をみないとだめみたいですね…。
  • brew install 時に指定するオプションをサポートするには、
    osxc/packages の更新が必要です。

  1. 事前に用意した.vimrcをVimインストール後に設置する、などです。 

  2. osxc側でHomebrewは入れてくれるのですが、
    AnsibleもHomebrewで管理させたかったため、先にHomebrewを導入しました。 

23
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
23