はじめに
最近Macbook AirをCTOで購入しました!!
ポイント還元率の高いヨドバシカメラで購入しています。
新しいMacに対して初期設定をしている中で、この手順を残しておこうという気持ちと、みんなどんな環境設定をしてるのかな?というのを知りたい気持ちとが出てきたので、とりあえず自分の手順を晒します。
これ見て設定を晒してくれる人がいたら、同じタグ Macの環境設定を晒す
で寄稿してもらえると嬉しいです!
Macのスペック
スペックは下記の通りです。
- Macbook Air スペースグレイ
- CPU 1.6 GHz Intel Core i5
- メモリ 16GB
- SSD 256GB
- USキーボード
こだわったのはメモリとキーボードです。
手元でコンテナを複数起動して開発することが多いので、メモリは16GB積んでいます。
それ以上立ち上げる必要がある時はクラウド上に環境作ってしまったりするので、ローカルは16GBで十分かなという感じです。
キーボードは、かっこいいからという理由でUSキーボードを選択することが多いです。
日本語が印字されていないスタイリッシュなところが気に入っています。
Mac自体の設定
購入から8日ほど待ってようやく手元にMacが届いたので早速設定していきます。
まずは本体の最低限の設定から。
キーボード設定
タイピングを慣れている状態で実施するために下記の設定を有効化していきます。
- Function Keyの有効化
- windows風
- ライブ変換OFF
システム環境変数のキーボードのところから変更していきます。
cmd+space でSpotlightを起動して、 「キーボード」と入力するだけで設定画面に移動することができます。
Dockの設定
Dockはデフォルトでは固定表示で結構アイコンが大きいので、下記の変更を実施します。
- Dockのサイズを小さめに
- 選択されたアイコンの拡大を有効化
- Dock操作をしない時は非表示に(「Dockを自動的に表示/非表示」を有効化)
アプリのインストール
次は開発でよく使うアプリ系をざっとインストールしていきます。
App Storeにないアプリはブラウザから調べてインストールしていきます。
よく使われるアプリ系だと思うので、個別に紹介することはしません。気になるものあればググるかコメントください。
- Chrome
- iTterm2
- VSCode
- Evernote
- Slack
- docker for Mac
- clipy
- alfred
- postman
- kindle
- xmind
あとはIDE系とか、必要に応じて好きなものをインストールすればいいかと思いますが、僕は基本的にVSCode+iTerm派なので基本的にこれでOKです。
開発モジュール系のインストール
ターミナルから、開発で利用するモジュール系をインストールしていきます。
- brew
- git
- zplug
- iTerm上でzshを使ってターミナルをカスタマイズしているので、そのプラグインマネージャとして利用しています - npm / node / nodebrew など
- https://qiita.com/PolarBear/items/62c0416492810b7ecf7c
- awscli
- Terraform
- Serverless Framework
また、最新のMacでもデフォルトインストールされていたPythonは2.7だったため、3.x系にアップグレードします。
- Pythonデフォルトバージョン変更
- https://qiita.com/ms-rock/items/72b8f1abc661c539bb09
- これやってもglobalのpythonバージョンが変わらない場合、pathの向き先を変更してます。これはもっといいやり方がある気がするので知りたい。。
アプリの設定
iterm
普段開発でVSCodeのターミナルやIDEのターミナルはほぼ使わず、iTerm一本でターミナル操作をやっているので、瞬時に起動でき、効率的に操作できる状態に設定していきます。
やることは主に下記の3点です
- hotkey
- zsh設定
- zplugによる追加機能
最終形はこんな感じ
hotkey
何の操作をしているときでも、ctrlキーのダブルタップでiTermが起動するように設定します。
-
iTermの設定画面のKeysタブからHotkeyを選択
これでiTermを再起動すると、ctrlダブルタップでiTermが開いてくれます。
zsh設定
僕はプロンプト周りをカスタマイズしたzshを利用しています。
まずは下記のコマンドでzshを有効化
$ chsh -s /bin/zsh
~/.zshrc
にzpulg系の設定を追記していきます。
プロンプトのデザイン変えたり、よく使うコマンドをaliasに入れたりしています。
# alias系の設定
alias ll="ls -lG"
alias la="ls -aG"
alias lla="ls -laG"
alias ltr="ls -ltrG"
alias gi="git init"
alias gs="git status"
alias ga="git add"
alias gcm="git commit -m"
alias gip="curl inet-ip.info"
# コマンド補完機能
autoload -U compinit
compinit
# VCS(Version Control)機能
autoload -Uz vcs_info
autoload -Uz colors # black red green yellow blue magenta cyan white
colors
# PROMPT変数内で変数参照
setopt prompt_subst
zstyle ':vcs_info:git:*' check-for-changes true
zstyle ':vcs_info:git:*' stagedstr "%F{green}!"
zstyle ':vcs_info:git:*' unstagedstr "%F{magenta}+"
zstyle ':vcs_info:*' formats "%F{cyan}%c%u(%b)%f"
zstyle ':vcs_info:*' actionformats '[%b|%a]'
# プロンプト表示直前に vcs_info 呼び出し
precmd () { vcs_info }
# プロンプト(左)
PROMPT='%{$fg[green]%}[%n@%m]%{$reset_color%}'
PROMPT=$PROMPT'${vcs_info_msg_0_} %{${fg[blue]}%}%}$%{${reset_color}%} '
# プロンプト(右)
RPROMPT='%{${fg[red]}%}[%~]%{${reset_color}%}'
これで、プロンプトに
Username@Hostname
, git branch/status
, current dir
を表示できるようになります。
zplugによる追加機能
zshのプラグインはあんまり使いこなせてないんですが、下記はかなり重宝しています。
- cd拡張機能
- cd-gitroot
- シンタックスハイライト
それぞれターミナル起動時にロードされるよう、zshrcに追記します。
# add plugin
source /usr/local/opt/zplug/init.zsh
zplug "mollifier/cd-gitroot"
zplug "b4b4r07/enhancd", use:init.sh
zplug "zsh-users/zsh-history-substring-search", hook-build:"__zsh_version 4.3"
zplug "zsh-users/zsh-syntax-highlighting", defer:2
zplug "zsh-users/zsh-completions"
zplug "junegunn/fzf-bin", as:command, from:gh-r, rename-to:fzf
# Rename a command with the string captured with `use` tag
zplug "b4b4r07/httpstat", \
as:command, \
use:'(*).sh', \
rename-to:'$1'
# Install plugins if there are plugins that have not been installed
if ! zplug check --verbose; then
printf "Install? [y/N]: "
if read -q; then
echo; zplug install
fi
fi
# Then, source plugins and add commands to $PATH
zplug load --verbose
これで最初にデモ貼り付けたように、cdコマンドでよく使うディレクトリに一発で移動できたり、git管理されているディレクトリのrootに一発で移動できたり、シンタックスハイライトが有効になったりしてとても便利です!
VSCode
VSCodeで開発することが多いのですが、そんな変わった使い方はしていないと思います。
少なくともTerminalから code
コマンドで呼び出せるようにしていることと、使用する言語に応じてpluginをいくつか入れている程度です。
Terminalから code
コマンドで開けるのは便利なのでおすすめです。
上のcd拡張機能と合わせると、プロジェクトに一発で移動して code ./
でソースディレクトリを開いてすぐに開発に着手することができます。
Keyファイル系の移行
古いMacから新しいMacに、AWSのIAM User系のCredentialファイルとか、sshの秘密鍵を移行する必要があります。
複数の会社で副業しているので、鍵の数が半端じゃなくて、それをSlackとかオンラインストレージ経由で移動してしまうとInternetを経由する分無駄にリスクが高くなるので、今回はAirDropで移行しました。
P2PのBluetooth通信なので盗聴リスクがなく、安全でいいのかなと思います。
他にいい方法があったら知りたいです。
Mac自体の物理環境
外で作業することも多いのですが、カフェで長時間開発とかしてると首が大変なことになるので、今回このスタンドを購入してみました。
これ、薄くて邪魔にならないしデザイン悪くないし安定性も高いのでお勧めします!
あとは画面を覗かれないようにフィルムをつけています。
保護フィルム
以上です!
Macで開発されている方の何かの参考になれば幸いです。
また、冒頭にも書きましたが、みなさんの開発マシンも見てみたいので、こだわり設定とかあったら是非教えてくださいー!