Yosemite マシンゲットしたので環境を整えた - dev.jgs.me


まえがき
会社でマシンが買い替えられるチャンスみたいなのが舞い込んできたので Mac miniMacbook Air に換えたいとダメもとで頼んでみたら本当にやってきた。mini を 10.9, Air を 10.10(人柱的な)で運用しようと企んでいたところ、mini のプリインが 10.10 だったので諦めて両方とも 10.10 で運用することにした。

そのため、2台を別々にセットアップするのが確実にだるそうだったのと、同期に「cask 使ってないとか情弱かよ(意訳)」と煽られたので Package manage as Code 的なことをやろうと思い立ってモリモリやったのでその辺が本旨。

ついでにイチからセットアップしたのでいろいろ備忘録っぽく残しておこうかと。

homebrew のインストール

_

              ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
            

brew file

以前は brew bundle が使えたので Brewfile で管理していたところ、brew bundle が nerf されたので管理を断念していた。今回調べてみて知ったのが brew file である。



(めっちゃ便利)

もろもろのインストラクションに従って

_

              $ brew install rcmdnk/file/brew-file
            

する。スラッシュ区切りのやつでもろもろインストールできるっぽいのでもしかしたら brew tap のところは冗長かもしれない。とりあえずそのまま置いてある。

インストールしたら Brewfile のあるリポジトリを設定する。

_

              $ brew file set_repo -R https://github.com/e-jigsaw/dotfiles.git
            

ここなんだけど、README.md には user/repo でいけるという記載があるのだけれど、その記法だと ssh で git clone がかかってまっさらなマシンだと ssh の設定まわりがアレでコケたので https のフルパス指定にしたらうまくいった。

ここにかつて brew bundle で運用していた頃の残骸が残っていたので

_

              $ brew file edit
            

でエディタが立ち上がって編集できるのでよしなに書き換える。書き換えたら

_

              $ brew file install
            

で書いたパッケージがずんずん入る。いちいち brew file って打つのがダルかったので適当なタイミングで alias bf='brew file' とか alias bfi='brew file install' とかして楽をした。

ひとしきりできたら

_

              $ brew file push
            

で変更が github に push される。ちなみに、最初なにも考えずに brew file edit したらデフォルトさんでコミットされちゃう事件が発生したのでそこは気をつけないといけないとおもった。

Brewfile の更新を反映させるときは

_

              $ brew file pull
            

でいける。コンフリクトとかしたら /usr/local/Library/user_repo みたいなディレクトリがそれなのでそこへ行って適当に解消してやればよい。

あとは http://caskroom.io/ でパッケージを探して、あったら bfe して bfi する、を繰り返すだけで Package manage as Code みたいなことが実現できる。
(追記 #20191007 )
caskroom.io から https://formulae.brew.sh/cask/ に変わっているそうです https://github.com/kbystk/amp/issues/2
(追記了)

dotfiles を蒔く
_

              $ git clone https://github.com/e-jigsaw/dotfiles.git .ghq/src/github.com/e-jigsaw/dotfiles
$ cd .ghq/src/github.com/e-jigsaw/dotfiles
$ git submodule init
$ git submodule update
$ sh install.sh
            

順番としては、dotfiles を蒔いて gitconfig を設定して brew file をセットアップするという流れだったので、ghq のことを見越して ghq フレンドリーなところに dotfiles を置いてからインストール(シンボリックリンクをホームに張りまくる)スクリプトを叩くという感じ。

Finder まわりの設定

最終形態はこんな感じ。Xtrafinder を cask でインストールして、黒背景にしたり上タブにしたりしている。地味に便利なのがフォルダをまとめて上に表示する機能。サイドバーに $HOME/.ghq/src をいれておくと Finder からも自由にリポジトリ群にアクセスできて便利だったりとか。

iTerm2
オレの最高のカラースキームgithub 上にあげているので使いたいひとがいればどうぞ -> https://github.com/e-jigsaw/iTerm-2-Color-Themes/blob/master/thayer.itermcolors

フォントは ASCII コードは AdobeSourcecode Pro を、日本語は Osaka。それぞれ 18pt。ログインシェルを brew 産 zsh に変えるのをちょっと躊躇ってしまうので iTerm2 のデフォルトシェルを /usr/local/bin/zsh にして糊口を凌いでいる。タブ開いたときは素の zsh が立ち上がるようになってて、がっつりシェル触るときに tmux を立ち上げるというような運用。なんかに困ったら Terminal.app で素の bash を立ち上げてなんとかする。

Dock
手短に
アイコンサイズ最大
自動的に隠す
元から入ってるアプリケーションは全部削除
起動インジケータをオフ

10.9 までは下左寄せで使っていたのだけれど、その機能がどうやら Yosemite で削除されてしまっているらしく、forum 見ても解決法がわからなかったので諦めて下中央でとりあえず運用している。

Trackpad
スクロール方向反転は気持ち悪いのでオフ
Launchpad も使わないのでオフ
通知センターも使わないのでオフ

3本指上で Home が押される
3本指下で End が押される

確か SnowLeopard まではこれデフォルトでできたとおもうんだけどできなくなってかなしみ。。

起動は Cmd+Space
cask でいれたアプリケーションを叩くために /opt/homebrew-cask/Caskroom を Scope に含める
o Dropbox でフォルダを開く、f hoge でファイル開く、d word で辞書検索


以前は g hoge で Google を検索したりしていたんだけどそんなに使わないことに気付いたので今は使っていない。

cask の Karabiner が古かったので PR 送ったらすげー早さで merge された。


private.xml

              <?xml version="1.0"?>
<root>
  <item>
    <name>Shift IME on/off</name>
    <identifier>remap.jis_shift2eisuukana_prefer_command</identifier>
    <autogen>__KeyOverlaidModifier__ KeyCode::SHIFT_L, KeyCode::SHIFT_L, KeyCode::JIS_EISUU</autogen>
    <autogen>__KeyOverlaidModifier__ KeyCode::SHIFT_R, KeyCode::SHIFT_R, KeyCode::JIS_KANA</autogen>
  </item>
  <item>
    <name>fn+backslash to backslash</name>
    <identifier>remap.fn_backslash_to_backslash</identifier>
    <autogen>
      __KeyToKey__
      KeyCode::BACKSLASH, ModifierFlag::FN | ModifierFlag::SHIFT_L,
      KeyCode::BACKSLASH, ModifierFlag::SHIFT_L
    </autogen>
    <autogen>
      __KeyToKey__
      KeyCode::BACKSLASH, ModifierFlag::FN,
      KeyCode::BACKSLASH, ModifierFlag::OPTION_L
    </autogen>
  </item>
</root>
            

という設定を書いて、左右の Shift 空押しで切り替わるようにしている。cmd にしてるひとが多いとおもうけど、cmd だと後続のキーでコマンドが実行されてめんどくさい事態が起きやすかったので Shift にした。Shift だと後続のキーと合わせて認識されても大文字が入力されるだけなのでリカバーがききやすい。

それから、Macbook Air 用に HHK っぽい Remap を書いた。

Backquote -> Esc
delete -> Backquote
Backslash -> delete
fn+Backslash -> Backslash

普段 HHK に慣れすぎて無意識でバックスラッシュを連打してしまうのでまずはこれを変えたかった。そうすると元々の delete が空くので delete にはバッククオートを当てた。あと Esc のつもりでバッククオートも連打してしまうのでここを Esc にした。するとバックスラッシュの行き場がなくなるので、しぶしぶ fn+Backslash でもともとの Backslash が出るようにした。これを XML に書いたんだけど、Modflag に option を設定しないと円マークが出てきてウザかった。順番の方も先に shift との組み合わせを先に書かないと縦棒が出なかった。

あと key repeat を体感に合わせて調整して最高の key repeat を設定した。とても入力がはかどる。

アクセシビリティ
Yosemite になってさらにアクセシビリティのアクセシビリティ感が強まったような気がするけど気のせいかなあ。

透明度を下げる
カーソルのサイズを大きく
通知音が鳴るときに画面を点滅させる
慣性スクロールなし
ドラッグロックあり

この辺設定しとくと結構アクセシビリティ高まる。

メニューバーあたり
Bartender で不要だけどちょっと要ぐらいのやつをまとめる
Menumeter で CPU, メモリ, ネットワークのグラフとかを出す
ファストユーザスイッチャーを消す


まとめ
Yosemite なマシンが2台きたので Package manage as Code 的なことを試した。実際には Mac mini の方でもろもろ試行錯誤をして Brewfile を更新して Macbook Air の方にデプロイしてお手軽に環境を構築できることを確認した。