macのクリーンインストール @ansibleで自動インスコ付き【2018/01版】
雑なメモ書きですが
クリーンインストールメモ
参考サイト
Macbookクリーンインストールでやった事(Homebrew+Ansible)
https://qiita.com/decobisu/items/661eb3fb1faa14a2a76d
OSのクリーンアップ
- 必要なファイル等は外付けHDDなどに退避する。
今回は新規のMBPにインストールしたのでディスク消去はしていない
- 今は情報の転送はしないを選択
- Macを探すは許可する
- コンピュータアカウントを作成(iCloudアカウントは使わなかった)
- FileVaultディスク暗号化を有効にする
- 診断と使用状況はチェックした
- クリーンインストールが終わったらApp storeからシステムアップデートをかける。
最新のOSをインストール
- 新規で購入したMBPなのにHighSierraが入っていなかったのでインストール
Xcodeをインストール
Dock
セキュリティとプライバシー
- スリープとスクリーンセーバの解除を15分後に
- Apple WatchでこのMacのロックを解除できるようにする → チェック入れても動かなかったので未設定
キーボード
- キーのリピートを速く(最速)
- リピート入力時間を短く(最短)
トラックパッド
- タップでクリックにチェック
- 軌跡の速さを速くする(最速)
サウンド
- メニューバーに音量を表示にチェック
共有
- コンピュータ名をかわいいのに変える
日付のオプション
- 曜日を表示
- 日付を表示
表示オプション
- デスクトップを右クリック → 表示オプションを表示
- アイコンサイズ 16x16
- ラベルの位置 右側
- 表示順序 名前
Homebrewをインストールする
Homebrewのインストール
xcode-select --install ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/insta
参考サイトの情報のままだと上手く行かないのでanacondaインストールする
brew install python ---> 2.7系が入るので嫌。3系のanaconda入れたい brew install ansible ---> pythonのフォルダにインストールしようとする brew install caskroom/cask/brew-cask ---> エラー出る
anacondaは以下からダウンロード
https://www.anaconda.com/download/#macos
chmod 755 ./Anaconda3-5.0.1-MacOSX-x86_64.sh ./Anaconda3-5.0.1-MacOSX-x86_64.sh
確認
Python -V Python 3.6.3 :: Anaconda, Inc.
ansibleインストール
brew install ansible
どうもこれ↓は入れなくて良い様子
brew install caskroom/cask/brew-cask ---> エラー出る
Ansibleの実行
プロビジョニング用のディレクトリ作成。
mkdir .macbook-provisioning cd .macbook-provisioning/
ansible用のinventoryファイル作成
echo 'localhost' > hosts
テキストを開き、以下をlocalhost.ymlとして保存
- hosts: localhost
connection: local
gather_facts: no
sudo: no
vars:
homebrew_taps:
- homebrew/binary
- homebrew/dupes
- caskroom/cask
- homebrew/services
homebrew_packages:
- { name: readline }
- { name: openssl }
- { name: openssl, state: linked, install_options: force }
- { name: git }
- { name: wget }
- { name: curl }
- { name: go }
- { name: rbenv }
- { name: ruby-build }
- { name: vim }
- { name: mysql }
- { name: redis }
homebrew_enabled_services:
- mysql
- redis
homebrew_cask_packages:
- { name: iterm2 }
- { name: firefox }
- { name: google-chrome }
- { name: google-japanese-ime }
- { name: atom }
- { name: skype }
- { name: slack }
- { name: vagrant }
- { name: virtualbox }
- { name: phpstorm }
- { name: pycharm }
- { name: datagrip }
- { name: sequel-pro }
- { name: postman }
- { name: cyberduck }
- { name: gimp }
- { name: marp }
- { name: vmware-fusion }
- { name: sourcetree }
tasks:
- name: homebrew の tap リポジトリを追加
homebrew_tap: tap={{ item }} state=present
with_items: "{{ homebrew_taps }}"
- name: homebrew update確認
homebrew: update_homebrew=yes
# brew
- name: brew packageのインストール
homebrew: >
name={{ item.name }}
state={{ item.state | default('latest') }}
install_options={{
item.install_options | default() | join(',')
if item.install_options is not string
else item.install_options
}}
with_items: "{{ homebrew_packages }}"
register: brew_result
- name: brew パッケージの情報保存先ディレクトリを作成
file: path=brew_info state=directory
- name: brew パッケージの情報を保存
shell: brew info {{ item }} > brew_info/{{ item }}
with_items: "{{ brew_result.results | selectattr('changed') | map(attribute='item') | map(attribute='name') | list }}"
# brew services
- name: Get currently available brew services.
shell: "brew services list | sed '1 d' | cut -d ' ' -f 1"
register: brew_services
- name: Enable brew services.
command: "brew services start {{ item }}"
with_items: "{{ homebrew_enabled_services }}"
when: "'{{ item }}' in brew_services.stdout_lines"
# - name: Install bundler(インストールは成功するが、Projectによってはうまく動作しなかった)
# gem:
# name: bundler
# user_install: no
# executable: /usr/local/bin/gem
handlers:
- name: run fc-cache
shell: fc-cache -vfHomebrew Caskオプションを設定
echo 'export HOMEBREW_CASK_OPTS="--appdir=/Applications"' >> ~/.bash_profile source ~/.bash_profile
作成したPlaybookを実行する
ansible-playbook -i hosts -vv localhost.yml
※MacBookPro 2017 Mid 15インチ (High Sierra)で動作確認済み