Tendo em conta o uso dado ao Terminal nos vários sistemas operativos, nomeadamente à utilização do mesmo para fins de desenvolvimento de software, este pequeno post vai focar-se, na configuração base que realizo numa máquina com Windows 11.
Primeiro devem certificar-se que o Terminal encontra-se instalado na vossa máquina, uma rápida pesquisa por Terminal deverá responder a esta questão.
Instalação do Powershell 7
Por defeito e até à data de criação desta publicação, o Powershell 7 não se encontra instalado por defeito no Windows 11, por isso vamos começar por aí, com o seguinte comando:
winget install --id Microsoft.Powershell --source winget
winget install --id Microsoft.Powershell --source winget
Devem tornar o Powershell 7 como o default do vosso terminal, acedendo às definições do terminal, neste menu:
Oh-my-posh
O Oh-my-posh permite configurar a prompt do vosso terminal, recorrendo a cores e informações do sistema, muito útil para mostrar a pasta atual, o branch em que se encontram, caso estejam a usar o git no vosso projeto, bem como a versão do software da linguagem de programação, como por exemplo a versão do NodeJS, entre outras informações.
Tudo isto é configurável, sendo que, dispõem vários temas, pré-configurados, que deverão ser suficientes para o vosso dia-a-dia.
Vamos então instalar o mesmo com o comando:
winget install JanDeDobbeleer.OhMyPosh -s winget
winget install JanDeDobbeleer.OhMyPosh -s winget
Em seguida vamos editar a configuração do Powershell, de forma a que o oh-my-posh inicie com o terminal:
notepad $PROFILE
notepad $PROFILE
neste ficheiro vamos adicionar a seguinte linha:
oh-my-posh init pwsh --config 'C:\Users\ricar\AppData\Local\Programs\oh-my-posh\themes\jblab_2021.omp.json' | Invoke-Expression
oh-my-posh init pwsh --config 'C:\Users\ricar\AppData\Local\Programs\oh-my-posh\themes\jblab_2021.omp.json' | Invoke-Expression
No exemplo acima estou a usar o tema jblab_2021.omp.json
jblab_2021.omp.json
, mas podem usar qualquer outro, os temas podem ser verificados com o seguinte comando:
Get-PoshThemes
Get-PoshThemes
Alguns temas fazem uso de caracteres especiais, estes caracteres não se encontram disponiveis nas font's convencionais, logo devem de usar uma font própria, nomeadamente uma das Nerd Fonts.
Escolham a que mais gostarem, a instalação é feita da mesma forma, como qualquer outra font, sem se esquecerem de selecionar a mesma nas definições do Terminal.
Neste exemplo a font que uso é a BlexMono
Criação de chave SSH no Windows 11
Para finalizar, vamos configurar o SSH, a grande diferença para quem já usou o Windows no desenvolvimento de software, é que, já não existe a necessidade de usar o Putty, ou qualquer outro software do género.
Começamos por criar a chave com o seguinte comando:
ssh-keygen -t ed25519 -C "eu@ricardopimen.tel"
ssh-keygen -t ed25519 -C "eu@ricardopimen.tel"
Em seguinda iniciamos o Powershell como adiministrador e executamos:
Get-Service -Name ssh-agent | Set-Service -StartupType Manual
Get-Service -Name ssh-agent | Set-Service -StartupType Manual
seguido do comando:
Start-Service ssh-agent
Start-Service ssh-agent
Estes comando permitem fazer com que, o SSH se torne usável, pois por defeito, apesar de vir instalado nas versões PRO, não se encontra pronto a usar.
Com isto vamos então adicionar a chave ao agente de SSH
ssh-add C:\Users\ricar\.ssh\id_ed25519
ssh-add C:\Users\ricar\.ssh\id_ed25519
De forma a poderem usar esta nova key, como por exemplo, no github, basta executar o seguinte comando para obter a chave publica:
cat C:\Users\ricar\.ssh\id_ed25519.pub
cat C:\Users\ricar\.ssh\id_ed25519.pub
Devem copiar a mensagem apresentada e colar no lugar reservado à mesma, como por exemplo, na configuração do SSH do Github e afins.
Conclusão
Este é o meu setup inicial do Terminal, penso que seja bastante simples de executar, tendo em conta as funcionalidades que oferece, comparado com a solução inicial do Terminal.
A evolução na simplificação deste processo, bem como todo o desenvolvimento à volta do mesmo, oferece uma solução muito próxima, e familiar, aos sistemas Linux e afins.