Mac環境整備

正直dockerで仮想環境を作っておいて配布するだけで済むとは思います。
案件によってdockerが使えなかったりするので、新規環境で構築する際の覚書を残します。

# [Homebrew][homebrew]
[homebrew]: https://brew.sh/index_ja
- macOS用パッケージマネージャー

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1866227/33c32901-3327-ad31-81c7-4c12e27e1b42.png)

```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
<details><summary>Homebrew経由のインストールツール類</summary>


## [clipy][clipy]
[clipy]: https://formulae.brew.sh/cask/clipy
- 履歴付きのコピー＆ペーストを可能にする
- 「Shiht+Command+V」で稼働
- Windowsで言うところの「Windows+V」に相当
```bash
brew install --cask clipy
```

## [Rectangle][rectangle]
[rectangle]: https://formulae.brew.sh/cask/rectangle#default
- 画面分割ショートカットを可能にする
- Windowsで言うところの「Windows+←」「Windows+→」等

```bash
brew install --cask rectangle
```

## [swiftformat-for-xcode][swiftformat]
[swiftformat]: https://formulae.brew.sh/cask/swiftformat-for-xcode#default
- XcodeでSwiftのフォーマットを掛ける
```bash
brew install --cask swiftformat-for-xcode
```

## [tmux][tmux]
[tmux]: https://formulae.brew.sh/formula/tmux#default
- 1つのターミナルで画面分割やら画面切替やらの複数ターミナルとして操作可能
- ターミナルマルチプレクサの略
```bash
brew install tmux
```
<details><summary>設定ファイル（.tmux.config）例</summary>

```text
# prefixキーをC-tにする
set -g prefix C-t
# デフォルトprefixキーをアンバインドする
unbind C-b
# prefix + - で水平分割
bind - split-window -v
# prefix + | で垂直分割
bind | split-window -h
# マウスでスクロール可能に
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
# マウスの有効化
set-option -g mouse on
```
</details>

## [git][git]
[git]: https://formulae.brew.sh/formula/git#default
- 分散型バージョン管理システム
```bash
brew install git
```
<details><summary>設定ファイル（.gitconfig）例</summary>

```text
[core]
    editor = nano
[color]
    ui = auto
[fetch]
    prune = true
[pull]
    ff = only
[rebase]
    autoStash = true
[sequence]
    editor = nano
[alias]
    glog = log --all --pretty='format:%d %Cgreen%h%Creset %an - %s' --graph
    cp = cherry-pick -x
```

</details>

## [git-flow][git-flow]
[git-flow]: https://formulae.brew.sh/formula/git-flow#default
- Gitリポジトリの分岐モデルを使いやすくする
```bash
brew install git-flow
```

## [Carthage][carthage]
[carthage]: https://formulae.brew.sh/formula/carthage#default
- Cocoa アプリケーションにフレームワークを追加する最も簡単な方法
```bash
brew install carthage
```
<details><summary>利用例</summary>

```text
carthage update --platform iOS --use-xcframeworks
```
</details>

## [pre-commit][pre-commit]
[pre-commit]: https://formulae.brew.sh/formula/pre-commit#default
- 多言語のコミット前フックを管理および保守するためのフレームワーク
```bash
brew install pre-commit
```
<details><summary>プラグイン例</summary>

:::note info 
- check-yaml
- end-of-file-fixer
- trailing-whitespace
- black
- google-style-java
:::
</details>

## [visual-studio-code][vscode]
[vscode]: https://formulae.brew.sh/cask/visual-studio-code#default
- エディタ
```bash
brew install --cask visual-studio-code
```
<details><summary>アドオン例</summary>

:::note info 
- vscode-icons
- Mark Jump
- Guides
- Insert Date String
- PlantUML
- Markdown All in One
- markdownlint
- CSS Formatter
- XML
- YAML
- Python
- Pylint
- isort
- Flake8
- autopep8
- Prettier - Code formatter
:::
</details>

## [Java][java11]
[java11]: https://formulae.brew.sh/formula/openjdk@11#default
- プログラミング言語 Java
```bash
brew install openjdk@11
```

## [Python][python3]
[python3]: https://formulae.brew.sh/formula/python@3.11#default
- プログラミング言語 Python
```bash
brew install python@3.11
```

</details>

## [zsh-completions][zsh-completions]
[zsh-completions]: https://formulae.brew.sh/formula/zsh-completions#default
-  ターミナルのコマンド補完

```bash
brew install zsh-completions
```