こしごぇ(B)

旧:http://d.hatena.ne.jp/koshigoeb/

今日のBoxen

思いつきで MacBook Air を再セットアップすることに。 ちょうどよいので、可能な限り Boxen を使ってセットアップを進めてみる。

Xcode

Xcode はあらかじめインストールしておく必要があるので、App Store 経由でインストール。 Command Line Tools が必要なので、これもインストールしておく。

SSH

Boxen のリポジトリドットファイルなど、ひとまずは Bitbucket のプライベートリポジトリを使うつもりなので、鍵を登録しておく。

~$ ssh-keygen
~$ pbcopy < ~/.ssh/id_rsa.pub
~$ ssh-keyscan bitbucket.org >> ~/.ssh/known_hosts

Boxen

基本的に Qiita の記事だけでなんとかなりそう。

Done

ひとまず、以下のような感じまで書いてみた。いろいろやれてないことだらけ。

  • /opt/boxen/repo/modules/people/manifests/koshigoe.pp
class people::koshigoe {
  include osx::global::enable_keyboard_control_access

  class { 'osx::global::key_repeat_delay':
    delay => 10
  }
  class { 'osx::global::key_repeat_rate':
    rate => 2
  }

  include hub
  include dropbox
  include chrome
  include onepassword
  include sequel_pro
  include mysql
  include vagrant
  include virtualbox

  $home     = "/Users/${::luser}"
  $projects = "${home}/Projects"
  $dotfiles = "${projects}/dotfiles"

  package {
    'tmux': ;
    'lv': ;
    'markdown': ;
    'the_silver_searcher': ;
    'zsh-completions': ;
    'emacs':
      install_options => [
        '--cocoa',
        '--use-git-head',
        '--HEAD',
      ]
  }

  file { '/Applications/Emacs.app':
    ensure  => directory,
    recurse => true,
    source  => '/opt/boxen/homebrew/opt/emacs/Emacs.app',
    require => Package['emacs']
  }

  file { $projects:
    ensure => directory
  }

  repository { $dotfiles:
    source  => "git@bitbucket.org:koshigoe/dotfiles.git",
    require => File[$projects]
  }

  exec { "sh ${dotfiles}/install.sh":
    cwd     => $dotfiles,
    creates => "${home}/.zshrc",
    require => Repository[$dotfiles],
  }

  osx_chsh { $::luser:
    shell => "/bin/zsh";
  }
}

emacs.el

Boxen を使うついでに Emacs の設定もちょっと変更して、パッケージのインストールを全自動にする様にしてみた。 幸い、必要なものは一通り package.el でまかなえたのでなんとかなりそう。 若干、一度の起動で全部いけるか微妙な感じではあるけれど…。

TODO

  • GUIを使わずに修飾キーを変更する方法が知りたい(puppet-osx でできないものか)
  • LaunchBar など、ディスクイメージのマウントで同意確認が必要なものをインストールできない
  • Boxen 関係ないけど LaunchBar でシンボリックリンクを候補に含める方法を知らない
  • Emacs.app のインストール後に brew link するかコピーするかをもっとうまく書きたい
  • シェルの Powerline で使うフォントのコンパイルとインストール
  • Terminal.app の設定
  • トラックパッドのジェスチャ設定(3本スワイプでページ移動、など)
  • App Store のアプリを package にかけないのか
  • 実はキーリピートの設定がうまくできてないっぽい