Mac初期設定 備忘録

iMacを一から初期設定する機会があったのでメモ的に初期設定のやり方を書く。
基本的なやつしかいれてない気がする。

## 環境
- Machine: iMac (21.5-inch, Late 2009)
- OS: OS X El Capitan version 10.11.5
- Processor: 3.06 GHz Intel Core 2 Duo
- Memory: 4 GB 1067 MHz DDR3
- Storage: 1TB

## システム環境設定
基本はお好みで、最低限の変更と便利な機能だけ。
[キーボード]>[キーボード]>[修飾キー]から[caps lock]: [control]、[control]: [caps lock]に変更する。
[アクセシビリティ]>[ズーム機能]>[スクロールジェスチャと修飾キーを使ってズーム]を「入」にする。
[アクセシビリティ]>[マウス/トラックパッド]>[トラックパッドオプション]>[ドラッグを有効にする]を「入」にして[ドラッグロックする]にする。
ForceTouchやったらいらんかも。

## App Storeからダウンロード
Xcode - IDE、Command Line Toolsをインストールするのに必要
Twitter - Twitterのクライアント
TweetDeck - ほんとはこっち
Kobito - MarkdownのEditorかつPreview
Evernote - メモアプリ
LINE - メッセージアプリ
Pages - Apple公式のあれパート1
Number - Apple公式のあれパート2
Keynote - Apple公式のあれパート3
iPhoto - Apple公式のあれパート4

たぶん有料のやつ
BetterSnapTool - BetterTouchToolの代わり！？のやつ
Light Cleaner - メモリ管理
iMovie - Apple公式のあれパート5
GarageBand - Apple公式のあれパート6

## Webからのソフト
[Firefox](https://www.mozilla.org/ja/firefox/new/) - Webブラウザ
[Chrome](https://www.google.co.jp/chrome/browser/desktop/) - Webブラウザ
[Google日本語入力](https://www.google.co.jp/ime/) - 入力ソース
[Dropbox](https://www.dropbox.com/ja/install) - オンラインストレージ
[BetterTouchTool](http://bettertouchtool.softonic.jp/mac/download) - トラックバッドの機能追加ツール
[iterm2](https://www.iterm2.com) - ターミナルのやつ
[karabiner](https://pqrs.org/osx/karabiner/index.html.jp) - キーボードカスタマイズツール
[Atom](https://atom.io) - エディタ
[Skype](https://www.skype.com/ja/) - Skype
[Dash](https://kapeli.com/dash) - ドキュメント検索・スニペット

とか思ってたら全部Homebrew Caskでダウンロードできることが判明。
ちょっとHomebrew Caskのとこに書いとく

## Command Line Toolsの導入
Xcode起動。
メニューバーから[Xcode]>[Open Developer Tool]>[More Developer Tools...]を選択。
ログイン後、Command Line Toolsをダウンロードして、インストールする。

下記でも可能。
ターミナル.appから、

```bash:CommandLineTools 
$ xcode-select --install
```

を入力し、ダウンロードして、インストールする。

## Homebrewの導入
[Homebrew](http://brew.sh)はMacで使えるパッケージ管理ソフトです。他にも[MacPorts](https://macports.org)がありますが、僕はHomebrew派。てか最近はHomebrewの方が多いらしい。
※ Command Line Toolsを先に入れる

# Homebrewの導入
Homebrewのホームページにある下記のコマンドをターミナル.appに打ち込む。

```bash:Homebrewの導入
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# なんせRETURNを押せばいい
Press RETURN to continue or any other key to abort
...

# パスワードを入力するときに「***」みたいなの出てこないけど気にせず
[Password:
```

一応エラーチェック。

```bash:
$ brew doctor
# 下記のようにでればOK
Your system is ready to brew.
```

## Homebrewの簡単な使い方

```bash:Homebrewの簡単な使い方
# パッケージのインストール
$ brew install [パッケージ名] [必要であればオプション]

# パッケージのアンインストール
$ brew uninstall [パッケージ名]

# パッケージの検索
$ brew search [パッケージ名]

# パッケージの詳細
$ brew info [パッケージ名]

# Homebrew本体、パッケージ情報をアップデート
$ brew update

# インストール済みのパッケージのアップグレード
$ brew upgrade

# 古いパッケージの削除
$ brew cleanup

# 管理しているパッケージの一覧
$ brew list
```

## Homebrew Caskについて
Homebrew CaskとはGoogle ChromeやFirefoxなどの主にバイナリで配布されるインストールが面倒なソフトたちをターミナル上で素早くインストールするためのHomebrewの拡張コマンドなのだ。

```bash:HomebrewCaskの導入
$ brew install cask
$ brew tap caskroom/cask
```

基本的な使い方は``brew cask``であと同じ。
例えば``brew install [パッケージ名]``とか``brew uninstall [パッケージ名]``とか。

### Webからのソフト
WebからのソフトをHomebrew Caskでやる。

```bash:Webからのソフト
$ brew cask install firefox
$ brew cask install google-chrom
$ brew cask install google-japanese-ime
$ brew cask install dropbox
$ brew cask install bettertouchtool
$ brew cask install iterm2
$ brew cask install karabiner
$ brew cask install atom
$ brew cask install skype
$ brew cask install dash
```

## Homebrewで導入するパッケージ

```bash:Homebrewで導入するパッケージ
# Emacs
$ brew install emacs --with-cocoa --HEAD
$ ln -s /usr/local/Cellar/emacs/24.5/Emacs.app /Applications

# wget
$ brew install wget

# ricty - プログラミングで見やすいFont
$ brew tap sanemat/font
$ brew install ricty
$ cp -f /usr/local/Cellar/ricty/3.2.*/share/fonts/Ricty*.ttf ~/Library/Fonts/
$ fc-cache -vf

# Vagrant + VirtualBox
$ brew install vagrant
$ brew install virtualbox

# zsh + zsh-completions（補完機能強化）
$ brew install zsh
$ brew install zsh-completions

# MacTex - tex環境一式（むっちゃ時間かかる）
$ brew cask install mactex
$ sudo tlmgr update --self --all
$ cd /usr/local/texlive/2015/texmf-dist/scripts/cjk-gs-integrate
$ sudo perl cjk-gs-integrate.pl --link-texmf --force
$ sudo mktexlsr
$ sudo updmap-sys --setoption kanjiEmbed hiragino-elcapitan-pron
```

## Zshの設定
まず`/etc/shells`に追記し、ログインシェルを設定する。

```bash:Zsh設定
$ sudo sh -c "echo '/usr/local/bin/zsh' >> /etc/shells"
Password:
$cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/zsh

$ chsh -s /usr/local/bin/zsh
```

## Dropboxでの設定共有
Dropboxで.bashrcや.emacs.d/init.elなどの設定ファイルを共有する。

```bash:前に使ってたMacから
$ mv /[各設定ファイル] ~/Dropbox/[適当なフォルダ]
$ ln -fs ~/Dropbox/[適当なフォルダ]/[各設定ファイル] /[各設定ファイル]

# シンボリックを外すには
$ unlink /[各設定ファイル]
```

```bash:初期設定する方
$ ln -fs ~/Dropbox/[適当なフォルダ]/[各設定ファイル] /[各設定ファイル]
```

ソフトウェアごとのコマンド

### Better Touch Tool
~~いまいちできてるか不明。再起動が必要？~~ アプリの再起動でいけるみたい。

```bash:BetterTouchTool
$ mv ~/Library/Application\ Support/BetterTouchTool ~/Dropbox/Config/
$ ln -fs ~/Dropbox/Config/BetterTouchTool ~/Library/Application\ Support/BetterTouchTool
```

### Karabiner
アプリを再起動するたびに`~/Library/Preferences/org.pqrs.Karabiner.plist`のシンボリックがなくなってしまって普通のファイルになってできない。
原因不明。

```bash:Karbiner
$ mkdir ~/Dropbox/Config/Karabiner
$ mv ~/Library/Preferences/org.pqrs.Karabiner.plist ~/Dropbox/Config/Karabiner/org.pqrs.Karabiner.plist
$ ln -fs ~/Dropbox/Config/Karabiner/org.pqrs.Karabiner.plist ~/Library/Preferences/org.pqrs.Karabiner.plist
```
### Emacs 

```bash:Emacs
$ mkdir ~/Dropbox/Config/Emacs
$ mv ~/.emacs.d ~/Dropbox/Config/Emacs/
$ ln -fs ~/Dropbox/Config/Emacs/.emacs.d ~/.emacs.d
```

### iTerm2
いまいちできてるか不明。再起動が必要？

```bash:iTerm2
$ mkdir ~/Dropbox/Config/iTerm2
$ mv ~/Library/Preferences/com.googlecode.iterm2.plist ~/Dropbox/Config/iTerm2/
$ ln -fs ~/Dropbox/Config/iTerm2/com.googlecode.iterm2.plist ~/Library/Preferences/com.googlecode.iterm2.plist
```

### Zsh

```bash:Zsh
$ mkdir 
$ mv ~/.zshenv ~/Dropbox/Config/Zsh/
$ mv ~/.dot/zsh ~Dropbox/Config/Zsh/
$ ln -fs ~/Dropbox/Config/Zsh/.zshenv ~/.zshenv
$ ln -fs ~/Dropbox/Config/Zsh/.dot ~/.dot
```

## Evernoteのコピペの設定
標準だとWebページなどをコピペすると書式ごとコピーされるのがめんどいので、書式なしでコピーできるようにする。

[キーボード]>[ショートカット]>[アプリケーション]>[+]を選択し、

アプリケーション: Evernote.app
メニュータイトル: ペースト
キーボードショートカット: Shift+Command+V

を選択し、[追加]を押す。
もう一度[+]を選択し、

アプリケーション: Evernote.app
メニュータイトル: ペーストしてスタイルを合わせる
キーボードショートカット: Command+V

を選択し、[追加]を押す。

## 最後に
できるやつをシェルにまとめる。一気にできるかは不明。

```bash:brew-install.sh
#! /bin/bash

# HomebrewCaskの導入
brew install cask
brew tap caskroom/cask

# Emacs
brew install emacs --with-cocoa --HEAD
ln -s /usr/local/Cellar/emacs/24.*/Emacs.app /Applications

# wget
brew install wget

# ricty
brew tap sanemat/font
brew install ricty
cp -f /usr/local/Cellar/ricty/3.*/share/fonts/Ricty*.ttf ~/Library/Fonts/
fc-cache -vf

# MacTex - tex環境一式（むっちゃ時間かかる）
#$ brew cask install mactex
#$ sudo tlmgr update --self --all # Terminal.appの再起動が必要
#$ cd /usr/local/texlive/201*/texmf-dist/scripts/cjk-gs-integrate
#$ sudo perl cjk-gs-integrate.pl --link-texmf --force
#$ sudo mktexlsr
# $ sudo updmap-sys --setoption kanjiEmbed hiragino-elcapitan-pron

# Vagrant + VirtualBox
brew install vagrant
brew install virtualbox

# Firefox
brew cask install firefox

# Chrome
brew cask install google-chrome

# Google日本語入力のはず
brew cask install google-japanese-ime

# Dropbox
brew cask install dropbox

# Better Touch Tool
brew cask install bettertouchtool

# iTerm2
brew cask install iterm2

# Karabiner
brew cask install karabiner

# Atom
brew cask install atom

# Skype
brew cask install skype

# Dash
brew cask install dash

# Dropboxでの設定同期
ln -fs ~/Dropbox/Config/BetterTouchTool ~/Library/Application\ Support/BetterTouchTool
ln -fs ~/Dropbox/Config/Karabiner/org.pqrs.Karabiner.plist ~/Library/Preferences/org.pqrs.Karabiner.plist
ln -fs ~/Dropbox/Config/Emacs/.emacs.d ~/.emacs.d
ln -fs ~/Dropbox/Config/Zsh/.zshenv ~/.zshenv
ln -fs ~/Dropbox/Config/Zsh/.dot ~/.dot
```