ごはんと飲み物は紙一重

あんまり更新できてないです

年度末恒例のクリーンインストール大会【その2】【ansible自動化yaml公開】

twdlab.hatenablog.com

続きになります。

一晩通してXCodeがインストール完了

XCodeがインストール終わったので、

  • brew と ansible のインストール

を済ませて、残りは事前に準備していたansibleのyamlをぶち込むだけ!

準備していたyamlファイルの場所にディレクトリを移動し、echo "localhost" >> hostsでhostsファイルを作成したら、ansible-playbook -i hosts -vv localhost.yamlを叩くだけで、yamlに記載されたアプリケーションを自動的にインストールしてくれます。

- hosts: localhost
  connection: local
  gather_facts: no
  sudo: no
  vars:
    homebrew_taps:
      - homebrew/dupes
      - homebrew/science
      - caskroom/cask
      - homebrew/binary

    homebrew_packages:
      - { name: openssl }
      - { name: openssl, state: linked, install_options: force }
      - { name: ansible }
      - { name: git }
      - { name: zsh, install_options: disable-etcdir }
      - { name: wget }
      - { name: curl }
      - { name: cmake }
      - { name: autoconf }
      - { name: automake }
      - { name: tree }
      - { name: nkf }
      - { name: tig }
      - { name: gcc }
      - { name: imagemagick }
      - { name: libjpeg }
      - { name: libpng }
      - { name: libtiff }
      - { name: libtool }
      - { name: pkg-config }
      - { name: qt5 }
      - { name: readline }
      - { name: sl }
      - { name: tbb }
      - { name: xz }
      - { name: vim, install_options: with-lua }
      - { name: peco }
      - { name: httperf }
      - { name: autobench }

    homebrew_cask_packages:
      - { name: google-chrome }
      - { name: iterm2 }
      - { name: google-japanese-ime }
      - { name: coteditor }
      - { name: slack }
      - { name: karabiner-elements }
      - { name: atom }
      - { name: virtualbox }
      - { name: mactex }
      - { name: dropbox }
      - { name: duet }
      - { name: sourcetree }
      - { name: alfred }
      - { name: xquartz }
      - { name: vlc }
      - { name: gimp }
      - { name: steam }
      - { name: discord }

  tasks:
    - name: homebrew update
      homebrew:
        update_homebrew: yes

    - name: homebrew tap
      homebrew_tap:
        name: '{{ item }}'
        state: present
      with_items: '{{ homebrew_taps }}'

    - name: homebrew cask packages install
      homebrew_cask: name={{ item.name }} state=installed
      environment:
        HOMEBREW_CASK_OPTS: "--appdir=/Applications"
      with_items: '{{ homebrew_cask_packages }}'

    - name: homebrew packages install
      homebrew:
        name: '{{ item.name }}'
        state: '{{ item.state | default("present") }}'
      with_items: '{{ homebrew_packages }}'

これである程度のアプリケーションはインストールできるのですが、私がよく使用しているメモアプリのbearやgoodnotesなどはcaskでインストールできなさそうなので、いくつかは手動でインストールする形になります。それでもほとんどターミナルでやってくれるのでその間に並行して作業できるのは大きいですね。

というわけで大まかなアプリケーションインストールはおしまいですね。

設定などなど

インターネットアカウントの設定や幾つかmacアクセシビリティ関連をいじるのは当然のこと、個人的にはmacを使うにあたってほんと便利な設定があって、

qiita.com

ギークハウス沖縄のさぼさんの記事なのですが、これを設定して以来デスクトップで迷子になることがなくバシバシ切り替え出来てストレスがなくなっているのでこの設定おすすめです。

yamlには基本的なアプリケーションしか入れていないので、各々で必要な言語の環境構築をすればもとに戻る感じですね。

必要に応じてバックアップに保存してあるファイルなどを移してクリーンインストール大会はおしまいですね。

3度目のクリーンインストールを通して

Ansible便利すぎ

これにつきますね。ここ最近はいろんな設定ファイルは外部(google, github等)に紐付けしてあるのでそんなに詳しい設定をする必要がなく、面倒だったアプリケーションインストールをAnsible一本でやってくれるわけですからかなり便利になりましたよね。設定ファイルさえ残していればあとはどのMacでも最低限の必要環境設定をやってくれるわけですから非常にありがたい話です。クリーンインストールに限らず、どんどん色んな所で使っていきたいなという感じですね。