僕の最強のMacBook - インストール編

catalinaクリーンインストールしたので、初期構築晒します。

一応こだわりとして、`全てコマンドラインで完結するようにしてます。`
ブラウザ開いてなんやかんやするの面倒ですよね。

#Home brew のインストール

これがないと始まりません。

```shell:in_terminal.app
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
```
[Homebrewのサイト](https://brew.sh/index_ja)

## 忙しい人向け
全部まとめて書いてます。
cask install も分けて書いてあるのでコピペでOKです。
必要に応じて brew (cask) uninstall してください。

```shell:in_terminal.app
brew install zsh emacs docker;
brew cask install hyper google-chrome karabiner-elements shiftIt visual-studio-code docker cleanmymac slack zoomus　mamp dropbox
```

## brew install

```shell:in_terminal.app
$ brew install zsh
# 僕のお気に入りのシェル
$ brew install emacs
# 僕のお気に入りのCLIエディタ
$ brew install docker
# みんな大好きコンテナ仮想化
```

CLIエディタはお好みで。

```shell:in_terminal.app
$ sudo emacs /etc/shells
#shellsの行末に"/usr/local/bin/zsh"を追記

$ chsh -s /usr/local/bin/zsh
#ログインシェルをmacデフォルトのzshから変更
```

※ パスワードが聞かれればその都度入力してください。


## brew cask install 

```shell:in_terminal.app
$ brew cask install hyper
# jsベースのターミナルソフト
$ brew cask install google-chrome
# 世界最強のブラウザ
$ brew cask install karabiner-elements
# 英かな入力の切り替えに
$ brew cask install shiftIt
# 画面分割ソフト
$ brew cask install visual-studio-code
# 最強のGUIエディタ
$ brew cask install docker
# みんな大好きコンテナ仮想化
$ brew cask install cleanmymac
# 無料版ですが、ディスクアナライザーみたいなやつです。
$ brew cask install slack
# その仕事、slackで。
```

こっからはお好みで

```shell:in_terminal.app
$ brew cask install xld
# CDのロスレス読み込みなんかに
$ brew cask install reflector
# スマホアプリのプレゼン用に
$ brew cask install parallels
# windowsはないと困る
```

※ brew cask コマンドがない時

```shell:in_terminal.app
$ brew install caskroom/cask/brew-cask
```


# zsh のカスタマイズ

`oh-my-zsh`は起動が遅くなるので、僕は`prezto`ってフレームワーク使ってます。


```shell:in_terminal.app
$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
# prezto公式リポジトリのクローンコマンド

$ setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
# prezto公式リポジトリの読み込みコマンド

```

僕はある有名な記事を参考にして、
`~/.zpreztorc` のプロンプトテーマを変更するのと、シンタックスハイライトを有効にしています。
 
<b>プロンプトテーマの変更</b>
`zstyle ':prezto:module:prompt' theme 'sorin'` の `theme` の箇所を `pure` に書き換える

<b>シンタックスハイライトを有効にする</b>
`zstyle ':prezto:load' pmodule \`の項目、`'prompt'`の前に`'syntax-highlighting' \`を追記

[preztoのgitリポジトリ](https://github.com/sorin-ionescu/prezto)
[有名なqiitaの記事](https://qiita.com/kinchiki/items/57e9391128d07819c321)


## hyper.app のカスタマイズ

こっからはHyper.app内で行えます。
command ⌘ + space で hyper って入力してください。


```shell:in_hyper.app
$ hyper i hyper-statusline
# カレントディレクトリとgitブランチがフッターで表示される

$ hyper i hyper-tab-icons-plus
# タブにいい感じのアイコンが付く

hyper i hyper-unity
# 僕のお気に入りのカラーテーマ
```

プラグイン追加もテーマ変更も`コマンド一発`ですね。最高。

[Hyperのテーマ一覧](https://hyper.is/themes?newest)
[Hyperのプラグイン一覧](https://hyper.is/plugins?newest)


##docker pull

基本的に環境構築はdockerコンテナ内でします。
`npmのバージョンが違う`だとか、`パッケージマネージャの競合`だとか、`wineに環境が汚される`だとか、余計なことを考えなくて済みます。

>※ハードウェアの構成によってdockerが動作しない場合があります。
>'sysctl kern.hv_support' をターミナルで確認してください。
>[docker-Logs and troubleshooting](https://docs.docker.com/docker-for-mac/troubleshoot/#incompatible-cpu-detected)

```shell:in_hyper.app
$ docker pull debian
# debianです
docker pull ubuntu
# ubuntuです
docker pull opensuse/leap
# opensuseです
docker pull centos
# centOSです
docker pull kalilinux/kali-rolling
# ペネトレーションテストのやつです
```

ここは趣味が出そうですね。
AWS使う時はdebianで立てて、用途に合ったsdk入れてください。


# その他のディレクトリ作成

```shell:in_hyper.app
$ mkdir ~/Pictures/screen_shots
# スクショ保存先ディレクトリ作成
$ defaults write com.apple.screencapture location ~/Pictures/screen_shots
# スクショ保存先を~/Picutures/screen_shotsに変更

$ mkdir ~/Documents/dockerfiles
# dockerfile保存先ディレクトリ作成

$ cd ~/Downloads
$ mkdir dl_media dl_programs
# 画像やインストーラーなんかの保存先
```

あとはVScode開いて、
1.`Command + Shift + P`でコマンドパレット開く
2.Shellって検索
3.インストール
していただければ完了です。

[ターミナルからVisual Studio Codeを起動する方法【公式の方法】](https://qiita.com/naru0504/items/c2ed8869ffbf7682cf5c)

設定編に続きます。