Help us understand the problem. What is going on with this article?

【Sierra対応】mac開発環境構築の自動化

More than 1 year has passed since last update.

購入してから一度も初期化をせずにアップグレードを繰り返して2年目の愛用MacBookProを初期化して最高の開発環境を再構築するために下準備を始めてみました。新年度に向けて初期化を考えている方や、新たに開発にチャレンジしてみようという方は参考にしてみてください!
※開発系初心者も意識して書いてます。ご了承ください。

とりあえずサンプル欲しい

Q. よくわからん!とりあえずお前を信じて真似したいのだけど
A. GitHubに上げているのでご利用ください

方針

記述方法:ShellScript
設定関係:オープンソースを活用
利用ツール:以下表を参照

種類 ツール
CUI Apps 🍺 Homebrew
GUI Apps Homebrew-Cask
App Store mas

Homebrew

とっても便利なので、初めてでよくわからない人も使い始めてみましょう!
今回は、これがないと何も始まりません。

setup.sh
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update
brew upgrade --all --cleanup
brew -v

Git

ソースコードなどのバージョン管理をするやつです。
macの機能でインストールすることもできますが、Homebrewでインストールしておきましょう。
実は、brew install gitこの一行でインストールが完結しています。これもHomebrewのおかげです。

setup.sh
brew install git
git --version

zsh

macでは標準でbashが採用されています。(ターミナルを開いてコマンドを受け付けてるアイツです)
bashが好きな方はスキップしていただいて構いませんが、以後の環境設定等はzshに合わせたものになりますのでご注意ください。

setup.sh
brew install zsh zsh-autosuggestions zsh-completions zsh-syntax-highlighting colordiff
which -a zsh
sudo -- sh -c 'echo '/usr/local/bin/zsh' >> /etc/shells'
chsh -s /usr/local/bin/zsh

上記のコマンドを実行することで、次回からターミナルを起動したときにzshで立ち上がるようになります。コマンド実行時に2回ほどパスワードを求められますので、パソコンのパスワードを入力してください。

Vim

エディタですね。私はVimが好きなんです。それ以上はいいません。

setup.sh
brew install vim --with-override-system-vi

dot files

Vimzshなどはカスタマイズができます。これらを愛する人は自分の使いやすい設定ファイルを作って使っています。この設定ファイルがドットで始まるファイルなんです。
ドットで始まるファイルは隠しファイル扱いなのでls -lなどとしないと見ることができません。

skwp/dotfiles
GitHubで設定ファイル系をいい感じにしてくれるものを発見しました。仮想環境で動作環境をした程度ですが、良さそうだったのでご紹介します。
よくわからない人は、このようなものから使い始めて、不満が出てきたら自分で設定ファイルを作っていくというのもいいのでは?

setup.sh
sh -c "`curl -fsSL https://raw.githubusercontent.com/skwp/dotfiles/master/install.sh`"
# 以下は個人的な追加設定を追加するものです
cp ~/mac-auto-setup/settings/zsh/private.zsh ~/.yadr/zsh/private.zsh
source ~/.zshrc

Powerline

実は私、コマンドラインのデザインにはかなりこだわってまして…
様々なやり方があるのですが、私はbhilburn/powerlevel9kを利用することにしました。
ターミナルでPowerline対応のフォントに切り替えて、テーマを上手く切り替えると美しく大変身します!

setup.sh
# Font is 14pt Iconsolata for Powerline with Solarized Dark iterm2 colors.
git clone https://github.com/bhilburn/powerlevel9k.git ~/powerlevel9k
git clone https://github.com/powerline/fonts.git ~/fonts
~/fonts/install.sh

適応するには、.zshrcに以下の内容を追記する必要があります。
私と同じ環境で行っている場合は~/.yadr/zsh/private.zshを作成して追記してください。

~/.yadr/zsh/private.zsh
source  ~/powerlevel9k/powerlevel9k.zsh-theme
# 以下はお好みでカスタマイズ!
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(time context dir vcs)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status rbenv)
POWERLEVEL9K_STATUS_VERBOSE=false
POWERLEVEL9K_SHORTEN_STRATEGY="truncate_middle"
POWERLEVEL9K_SHORTEN_DIR_LENGTH=3

Homebrew-Cask

ある程度基礎的な部分の構築が終了し、残すところは個人的に使っているアプリのインストール作業となりました。まずは、GUIアプリのインストールをコマンドで行っていきましょう。

setup.sh
brew cask install android-studio

最後のコマンド引数にインストールしたいアプリ名を記述するのですが、複雑な名前のアプリなどはCasksの中を確認してから記述しましょう。また、Casksに無いアプリは残念ながらこの方法でインストールできません。申請するか、手動でインストールするようにしましょう。

mas

次にApp Storeからダウンロードしてインストールする作業の自動化です。ダウンロード履歴から「ダウンロード」を押していけばいいだけなのですが、数が多い人は自動化したいと思うことでしょう。

setup.sh
brew install mas
mas install 497799835  # Xcode (8.2.1)

これは、アプリ名を入力するのではなく、アプリIDを入力してあげる必要があります。パソコンを初期化する前にmas listで確認しておきましょう。

最後に

細かく紹介してきましたが、これらのコマンドをShellScriptのファイルにまとめてしまえば、そのファイルを実行させるコマンドを一度叩くだけで全自動セットアップができてしまうわけです!(パスワード入力が時々必要なのでそばにいてあげてくださいね(*´ω`*))

ファイルシステム変更などによって、インストール方法が異なるものも多く存在します。そこで、今回はSierraでの動作確認を行いながらコマンドを記述していますので、参考にしてみてください。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした