macOSをセットアップする
最近iMacの調子が悪いので頻繁にクリーンインストールする羽目になっている。何度も同じ作業を繰り返すだけなので作業記録を残していく。巷に億千とある類の記録を私も作る。
データとシステムは分けておきたい
あれこれアプリやドライバをインストールして好き放題やるメインマシンには長期的(1年以上)に保持しておきたいデータを置かない方が良いと思っているので
- iCloud: パスワードやアカウント系のデータ、重要なデータ
- github.com: プログラミング系のデータ
- Adobe CC: グラフィックデザイン系のデータ
- ローカルのNAS: 写真などの大容量データ
としておけば、OS自体は気軽にリセットできる。システムと切り離すことで、本当に必要なファイルの見通しが良くなるメリットもある。ただ、OSをリセットしやすくなったからとはいえ、一からのセットアップもやはり面倒なので、使えたらラッキー程度の回復ポイントとしてTime Machineによるバックアップも行なっている。
以降の手順の前提となる個人的な習慣
- 開発ディレクトリはドメインごとに
~/src
に置いている
System Preferences
セットアップ時の入力のストレスを軽減するためにKeyboardだけでも設定しておく。他は後回しでも良い。
General
- Click in the scroll bar to: Jump to the spot that's clicked
Desktop & Screen Saver
お気に入りの壁紙にする。
Spotlight
検索の対象を Applications, Calculator, Folders, System Preferences のみにする。
srcディレクトリも開発中にダウンロードしたパッケージで重くなるので除外しておく。
Keyboard
- Keyboard
- キーリピートの速さを最速にする
- グローバルキー(
fn
)で入力ソースを切り替えるのを無効化 -
Caps Lock
をControl
にする (これはKarabinerを入れると効かなくなるのでどちらでも)
- Text
- オートコレクト系の処理を全て無効化
- Shortcuts
- Servicesの不要なものを除外する (アプリを入れると増えるので後でもいい)
- Input Sources
- Live Conversionを無効化
- Correct spellingを無効化
-
¥
キーで\
を入力する
後でKarabinar-Elementsを入れるが、それまでのinput sourceの変更はデフォルトだと ^Space
で行えるのでそれを利用しよう。
Trackpad
- Look up & data detectors: Tap with three fingers
- Tap to click
- Swipe between pages: Swipe with three fingers
Bluetooth
- Show Bluetooth in menu bar
Sharing
- Computer Name
Time Machine
基本的にシステムファイル以外は Desktop, Documents, Library のみを対象とする。ダウンロードすれば済むもの、かつ他のディレクトリから参照されていないものは除外する。
- Exclude items
- ~/src, ~/Pictures, ~/Creative\ Cloud\ Files
- /Applications
Homebrew を入れる。XCodeをインストールするのに10分くらいかかる。
セットアップが終わったら基本的なツールを入れる。複数バージョンを併存させたいツールはHomebrewではなくasdfを利用する。
set -eux
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install asdf docker ghq iterm2 jq karabiner-elements pre-commit tig visual-studio-code vmware-fusion zsh-completions
cat <<'EOF' >> ~/.zshrc
if type brew &>/dev/null; then
FPATH=$(brew --prefix)/share/zsh-completions:$FPATH
autoload -Uz compinit
compinit
fi
. $(brew --prefix)/opt/asdf/libexec/asdf.sh
EOF
exec ${SHELL} -l
compaudit
# There are insecure directories:
# /usr/local/share
sudo chown -R $(id -u):$(id -g) /usr/local/share
sudo chmod -R 755 /usr/local/share
mkdir -p ~/src/github.com/asa-taka
git config --global user.name "asataka"
git config --global user.email "e70502@gmail.com"
git config --global ghq.root ~/src
ssh-keygen -t ed25519 -C "e70502@google.com" -f ~/.ssh/id_github.com
cat <<EOF >> ~/.ssh/config
Host github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_github.com
EOF
for P in golang nodejs python; do
asdf plugin add ${P}
asdf install ${P} latest
asdf global ${P} latest
done
参考
アプリケーションごとの設定
Karabiner-Elements
Security & Privacy > Input Monitoring でアクセスを許可したら日本語向けの設定を入れる。カッコつけて英字キーボードを使っているからだ。
- Simple modifications
-
caps_lock
→left_control
- Karabinerを動かすとSystem PreferencesのKyeboardのCaps Lockの設定が効かなくなるみたいなのでここで設定する
-
- Complex modifications
- Commandキーでinput sourceを切り替える
Terminal
- Profiles
- Pro以外消す
- Shell
- When the shell exits: Close the window
- Advanced
- bellを鳴らなくする
iTerm
- General
- Closing: 確認を無効化、全てチェックを外す
- Appearance
- Theme: Minimal
- Profiles
- Colors: Foreground #FFF, Minimam Contrast 70
- Text: monaco 11px
- Window: Transparency 20px, Blur 20px
- Terminal
- Notifications: Silence bell, 他はチェックを外す
Finder
- General
- New Finder window shows: HOME
- When performing a search: Search the current folder
- Sidebar
- 除外: Recent, Shared, tags
- 追加: HOME
Doc
- Turn Hiding ON
- 不要なものが多いので整理する
Visual Studio Code
とりあえず TypeScript, Go, Python の言語サポートのみ入れる。他は必要に応じて入れる。
# ドロップシャドウの影を消す。
defaults write com.apple.screencapture disable-shadow -bool false
killall SystemUIServer
# .DS_Storeを作らない
defaults write com.apple.desktopservices DSDontWriteNetworkStores true
Fonts
フォントはFontBookのGUIでインストールしなくても ~/Library/Fonts
に置けばそれで良いらしい。Font Bookでもそれで認識される。私の場合はNASによく使うフォントをまとめてあるのでそれをコピーすれば終わる。
DIR=/path/to/fonts
find "${DIR}"/**/*.{ttf,otf} -type f | grep -v mgenplus | xargs -I{} cp {} ~/Library/Fonts
find "${DIR}"/**/*.{ttf,otf} -type f | grep 1c- | xargs -I{} cp {} ~/Library/Fonts
Mgen+と派生フォントはとりあえず1cのみインストールする。
オプショナル