🔰【macOS】フロントエンドWeb開発者向けのPCキッティング

macOSでWeb制作をするために使うPCのキッティング手順です。

※内容は自己責任でお願いします
※思い出したりしたときに徐々に追記していきます
※[Windows10使いニキネキはこちら](https://qiita.com/heppokofrontend/items/33f53db4e317712af0f8)

## 前提

- MacBook Pro (16-inch, 2021)
- macOS Monterey 12.0.1
- JPキー
- 管理者アカウント

## 1. システム環境設定

|画面遷移|変更内容|備考|
|:--|:--|:--|
|一般|「スクロールバーの表示」を「常に表示」||
|デスクトップとスクリーンセーバ<br>→　スクリーンセーバ|「スクリーンセーバーの表示」のチェックを外す|
|Dockとメニューバー<br>→ Bluetooth|「メニューバーに表示」 を有効化（チェックボックス）|
|Dockとメニューバー<br>→ 集中モード|「メニューバーに表示」を有効化（チェックボックス）<br>「常に」に変更（プルダウン）|
|Dockとメニューバー<br>→ バッテリー|「割合（％）を表示」を有効化（チェックボックス）|
|Dockとメニューバー<br>→ ファストユーザスイッチ|「メニューバーに表示」を有効化（チェックボックス）|複数ユーザを利用する場合。|
|Dockとメニューバー<br>→ 時計|「24時間表示にする」を有効化（チェックボックス）|してもしなくても24時間表示からかわらない？|
|キーボード<br>→ ユーザ辞書|「文頭を自動的に大文字にする」の無効化（チェックボックス）<br>「スペースバーを2回押してピリオドを入力」を無効化（チェックボックス）|コード書く上で大変なので必ず無効化|
|キーボード<br>→ 入力ソース|「ライブ変換」の無効化（チェックボックス）<br>「Windows風のキー操作」を有効化（チェックボックス）|**※ Windowsも併用する方向け**|
|ディスプレイ<br>→ ディスプレイ→<br>→ サイズ調整|「解像度」を「スペースを拡大」（ラジオボタン）||
|アクセシビリティ<br>→ ディスプレイ<br>→ ポインタ|「カーソルのサイズ」を少し上げる（レンジ）||
|キーボード<br>→ ショートカット<br>→ キーボード|「次のウィンドウを操作対象にする」を`option+Tab`に変更|**※ Windowsも併用する方向け**<br>Windowsでいうアプリごとの`Alt+Tab`。<br>デフォルトだと`option+@`。|

## 2. CLI（黒い画面）で行う作業

### Homebrewをインストールする

「ターミナル」というアプリを開いてHomebrewのトップにあるコマンドを貼り付けてインストールします。

:::note warn
**ターミナルでパスワードを入力するときの諸注意**
キーを入力しても文字が入力されないように見えていますが、実際には入力することができています。
これは、何文字入力しているのかが他人から覗き見られないようにするためのセキュリティ対策です。
:::

参考：[Homebrewのインストール - Qiita](https://qiita.com/zaburo/items/29fe23c1ceb6056109fd)

https://brew.sh/index_ja

**ここまででHomebrew自体のインストールは完了**です！

### 各種アプリを`brew install`でインストール

※ これは全自動でAppを入れるステップです。後述の「brew.shに貼り付けて保存」の内容を１行ずつ貼り付けて実行してもOKです。

1. `.sh`ファイルを作成して開く
2. ファイル内に次のコードを貼り付けて保存
3. `.sh`ファイルを実行して削除

の手順で実行します。

まずは以下のコードをすべてコピーしてください。

```shell:brew.shに貼り付けて保存
brew install --cask spectacle           # ウィンドウの分割表示（Windowsの__Win+矢印キー__機能）

# ------------------------------------------------------------------------------
# Browsers
# ------------------------------------------------------------------------------
brew install --cask google-chrome       # Canaryなど必要に応じてインストール
brew install --cask firefox             # Nightlyなど必要に応じてインストール
brew install --cask microsoft-edge

# ------------------------------------------------------------------------------
# Git Client
# ------------------------------------------------------------------------------
brew install git                        # Git本体
brew install gitui                      # Shell内で「gitui」と打つと呼び出せるGit GUI
brew install --cask sourcetree          # Git GUI

# ------------------------------------------------------------------------------
# Node.js
# ------------------------------------------------------------------------------
brew install n                          # Nodeのバージョン管理。nコマンドが使えるようになる。
brew install yarn                       # Node.jsのパッケージマネージャー

# ------------------------------------------------------------------------------
# Shell
# ------------------------------------------------------------------------------
brew install --cask powershell          # Windows環境標準のShell。pwshコマンドが使えるようになる。

# ------------------------------------------------------------------------------
# Editors
# ------------------------------------------------------------------------------
brew install --cask visual-studio-code  # 開発向けエディタ
brew install --cask sublime-text        # ちょっとした作業用
```

その後、次のコマンドを実行します。

```powershell
touch brew.sh  # brew.shファイルを作成
vi brew.sh     # vimエディタでbrew.shファイルを開く
```

1. **Command＋v**キーで貼り付け
2. **ESC**キーを1度押す[^1]
3. `:wq`と入力する（上書きして保存の意味）
4. **Enter**キーを押す

[^2]:本来はESCキーは不要です。念のため。

うまくできたら、次のコマンドを実行します。

:::note warn
brew.shを実行している最中、一部ログインパスワードの入力が求められます。
:::

```powershell
sh brew.sh     # brew.shを実行
rm brew.sh     # brew.shを削除
```

個人的にはこういうのもインストールしたりします👀

```shell
brew install --cask iterm2                # いろいろ設定できるterminal
brew install --cask stats                 # メニューバーにマシンのステータスを表示できる
brew install --cask adobe-creative-cloud  # Adobe Creative cloud
brew install --cask discord               # コミュニケーションツール
brew install --cask slack                 # コミュニケーションツール
brew install openssh                      # SSH keysを発行したりSSH接続したりするためツール
brew install gpg                          # 暗号化・署名のためのツール
```

### インストール済みのアプリの設定

#### CLIで行うこと

次のコマンドをターミナルで実行します。

:::note warn
**次の文字列は書き換えてください[^1]**
- 「あなたのお名前」はGitHubのアカウント名
- 「あなたのメールアドレス」はGitHubに登録しているメールアドレス

[^1]: GitHub以外のサービスを利用する場合は、対象サービスに登録しているアカウント名とメールアドレスを設定してください
:::

```bash
# ------------------------------------------------------------------------------
# Config：Node.js
# ------------------------------------------------------------------------------
sudo n lts                                               # 最新のLTS版Node.jsをインストール

# ------------------------------------------------------------------------------
# Config：Git
# ------------------------------------------------------------------------------
# e.g. git config --global --replace-all user.name "Yamada Taro"
git config --global --replace-all user.name "あなたのお名前"
# e.g. git config --global --replace-all user.name "example@example.com"
git config --global --replace-all user.email "あなたのメールアドレス"

git config --global core.autocrlf false                  # 改行コードを変換しない
git config --global core.safecrlf true                   # 改行コードが入り混じったファイルをコミットできなくする
git config --global core.ignorecase false                # 大文字小文字を区別する
git config --global core.quotepath false                 # 日本語の文字化けを防ぐ
git config --global core.pager "LESSCHARSET=utf-8 less"  # 日本語の文字化けを防ぐ
```

#### Finder

隠しファイルの表示：`command` + `shift` + `.`

<!-- #### アクティビティモニタ -->

#### 上級者向け：`openssh`をインストールした方へ

https://qiita.com/heppokofrontend/items/25cedd62eb220c1bc20b

#### 上級者向け：`gpg`をインストールした方へ

https://qiita.com/heppokofrontend/items/13f269f536fdaf9226c4

#### その他各種アプリの設定はこの記事の「3. インストール済みのアプリの設定」を参照

https://qiita.com/heppokofrontend/items/33f53db4e317712af0f8#3-%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E6%B8%88%E3%81%BF%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E8%A8%AD%E5%AE%9A

## 参考文献

- [【Mac】隠しファイル・隠しフォルダを表示する方法](https://qiita.com/TsukasaHasegawa/items/fa8e783a556dc1a08f51)