Configurando um mac para desenvolvimento em 2022
Tags: dev, setup, tutorial, macos
Published: 2021-12-13 00:26:48

Esse guia é pra você comprou um mac recentemente e não sabe por onde começar, ou precisa refrescar a memória sobre as principais ferramentas utilizadas no dia a dia de um dev.

### Homebrew
Provavelmente a ferramenta mais importante, o [Homebrew](https://brew.sh) (ou simplesmente brew) é o primeiro item da nossa lista. Esse cara é um gerenciador de pacotes que permite a instalação de várias ferramentas, aplicações e etc. direto pelo terminal com uma única linha de comando.

#### Chave SSH
Eu precisei gerar uma chave SSH pra instalar o brew por limitações do GitHub. Pra gerar a chave, rode o comando `ssh-keygen` no terminal. Ele vai pedir pra criar uma senha, definir o caminho pra salvar o arquivo e etc. Mas sendo bem sincero eu sou preguiçoso e saio apertando enter pra usar os valores padrões.

#### Brew
Agora, vamos ao brew. Pra instalar, rode o seguinte comando no terminal:

```
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```

Esse comando foi copiado do site oficial do Brew, mas você também pode pegar de lá: https://brew.sh

### NVM

Mesmo que você não seja um dev JavaScript, é bem possível que você use o Node.js pra alguma tarefa do dia a dia. O nvm permite a instalação de mais de uma versão do node, além de te ajudar a fugir de alguns [erros de permissão](https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally), os famosos EACCES.

Com o brew instalado, rode o comando abaixo e ele faz a mágica:

```
brew install nvm
```

Após a instalação do nvm, você pode instalar a versão LTS do node com o seguinte comando:

```
nvm install --lts
```

### Hyper

O [Hyper](https://hyper.is) é um terminal da Vercel feito com tecnologias web e que cresceu bastante na comunidade. Muita gente prefere o [iTerm2](https://iterm2.com) mas eu fico com o Hyper pela fluidez da interface e pela simplicidade, tanto da configuração (um arquivo JSON) quanto da utilização.

Pra instalar, vamos usar o brew mais uma vez:

```
brew install hyper
```

Um comportamento que quem vem de outros terminais pode estranhar, é que o hyper sempre abre uma nova aba a partir da home, e não da pasta local. Pra resolver isso, instale a extensão hypercwd rodando o seguinte comando no Hyper:

```
hyper i hypercwd
```

Aproveita e dá uma olhada nos [plugins](https://hyper.is/plugins) e na [loja de temas](https://hyper.is/themes) do Hyper e escolhe um pra você. Eu uso o Solarized Dark e se você quiser experimentar rode o comando abaixo:

```
hyper i hyper-solarized-dark
```

### Oh My Zsh
Ainda turbinando o seu terminal, vamos ao Oh My Zsh, que é uma baita ferramenta com vários helpers, plugins e funcionalidades que acaba ficando complicado detalhar num post só, mas se você quiser mais sobre o projeto é só acessar a página oficial em https://ohmyz.sh

Pra instalar, rode o seguinte comando retirado do site oficial:

```
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
```

Pode ser necessário reabrir o Hyper depois de instalar o Zsh, mas você vai notar a diferença de cara.

### Rectangle
Um outro cara que deve ser mencionado é o [Rectangle](https://rectangleapp.com), que permite mover e redimensionar janelas sem a utilização de um mouse. Se você é da antiga, provavelmente usava um cara chamado [Spectacle](https://www.spectacleapp.com), só que depois que ele foi descontinuado a comunidade passou a recomendar o Rectangle como a melhor alternativa. Pra instalar, vamos de brew:

```
brew install rectangle
```

### Configurações do sistema

Aqui vão algumas configurações do próprio sistema que podem te ajudar:

#### Mouse
Eu acho que o mouse fica bem lento quando eu coloco no mac, tanto o meu logitech quanto o da apple. Pelo terminal, é possível configurar velocidades maiores do que nas preferências do sistema. Pra ver a velocidade atual, o comando é:

```
defaults read -g com.apple.mouse.scaling 
```

Pra definir a velocidade:

```
defaults write -g com.apple.mouse.scaling  5.0
```

Você pode definir um número até 7.0, e precisa reiniciar o computador depois de setar a configuração. Pra efeito de comparação, a configuração máxima setada via preferências do sistema é de 3.0

#### Corretor ortográfico
O cara que acaba atrapalhando pode ser desabilitado. Se você também não é muito fã do corretor, siga os passos abaixo:

1. No Mac, escolha menu Apple 🍎 > Preferências do Sistema > Teclado > Texto.
2. Desabilite a opção “Corrigir ortografia automaticamente”.

### Finish Him
Essas são as principais configurações que eu faço quando configuro um mac novo. Em 2021 eu acabei fazendo isso umas 4x e foi bem cansativo ficar lembrando, então estou compartilhando aqui.

Você com certeza vai precisar de ferramentas mais específicas pro seu campo de atuação, mas imagino que todos os itens acima sejam genéricos e vão ajudar independente da especialidade.

Segue alguns links úteis:

- [WebStorm](https://www.jetbrains.com/pt-br/webstorm/): a minha IDE favorita
- [VS Code](https://code.visualstudio.com): a IDE favorita da comunidade
- [Android Studio](https://developer.android.com/studio): a IDE pra desenvolvimento com Flutter/Android
- [Xcode](https://apps.apple.com/br/app/xcode/id497799835): um must-have pra quem desenvolve pra Mac e iOS, inclusive com flutter.
- [Google Chrome](https://www.google.com/chrome/): Dispensa explicações
- [Discord](https://discord.com): A melhor ferramenta de comunicação que você vai achar
- [Postman](https://www.postman.com): Um must-have quando se trata de trabalhar com APIs REST, seja desenvolvendo ou consumindo

E aí, curtiu? Sentiu falta de alguma ferramenta específica? Joga aqui nos comentários. Feedbacks são super bem vindos!