Temas
Uma das partes mais legais de customizar o shell é definir um tema para o prompt! Existem diversos frameworks para isso.
Neste capítulo, vamos tratar sobre o Starship, um prompt minimalista, rápido e extremamente customizável. E os usuários do Windows não ficarão de fora, pois o Starship é multiplataforma, e funciona no PowerShell e no Zsh!
Instalando o Starship
Seção intitulada “Instalando o Starship”Para instalar o Starship, vamos seguir as instruções do site oficial.
Tanto no Windows como no Linux (e WSL), parte do processo é editar o arquivo de configurações do shell. Vamos tratar sobre os detalhes de como fazer isso para o PowerShell e para o Zsh.
PowerShell
Seção intitulada “PowerShell”O Starship pode ser instalado no Windows através do PowerShell.
Para obter o instalador e executar o script de instalação, rode o seguinte comando.
winget install --id Starship.Starship

Após a instalação, é necessário adicionar o script de inicialização do Starship ao seu perfil do PowerShell.
O arquivo de configuração do PowerShell tem o nome Microsoft.PowerShell_profile.ps1
.
Seu local de armazenamento pode variar de acordo com a versão do PowerShell.
O arquivo para o PowerShell 5 é encontrado em $HOME\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
.
Já para o PowerShell 7, o arquivo é encontrado em $HOME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
.
Felizmente, o Windows provê uma variável de ambiente chamada $PROFILE
que aponta justamente para esse arquivo.
As instruções deste capítulo valem para qualquer uma das duas versões.
Basta executar os comandos no terminal da versão que você utiliza.
Vamos abrir o arquivo de configuração com o VSCode, executando o comando abaixo.
code $PROFILE
Adicione as seguintes linhas ao arquivo.
## Shell configuration
### Theme$ENV:STARSHIP_CONFIG = "$HOME\.config\starship.toml"function Invoke-Starship-TransientFunction { &starship module character}Invoke-Expression (&starship init powershell)Enable-TransientPrompt

Salve o arquivo e feche o editor. Para que as alterações tenham efeito, feche e abra o terminal novamente.
Se estiver usando o PowerShell 5, você possivelmente verá uma mensagem de erro ao abrir o PowerShell.

Essa mensagem é exibida porque o Windows não permite a execução de scripts por padrão. Precisamos alterar a política de execução de scripts para que o Starship funcione.
Para isso, execute o comando abaixo.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Esse comando define que scripts que sejam assinados por fontes confiáveis podem ser executados.
Feche e abra o terminal novamente.
No Linux e no WSL, o Starship pode ser instalado no Zsh.
Para executarmos seu script de instalação, precisamos de um programa chamado curl
.
Você pode instalá-lo da seguinte forma no Fedora ou WSL.
sudo dnf install curl -y
Ou como a seguir no Mint.
sudo apt install curl -y
Para instalar o Starship, execute o comando:
sudo curl -sS https://starship.rs/install.sh | sh
Quando perguntado se deseja prosseguir com a instalação, pressione a tecla

O instalador exibirá uma mensagem informando que o Starship foi instalado com sucesso, e que é necessário adicionar o script de inicialização ao arquivo de configurações do shell.

O arquivo de configurações do Zsh é o ~/.zshrc
.
Vamos editá-lo usando o VSCode com o seguinte comando abaixo.
code ~/.zshrc
Atualize o arquivo da seguinte forma.
## Path configurationPATH=$PATH:~/.local/bin
## Shell configurationZSH_THEME="robbyrussell"
### Path to Oh My Zsh installationexport ZSH="$HOME/.oh-my-zsh"
### Source Oh my Zshsource $ZSH/oh-my-zsh.sh
### Pluginsplugins=( git)
### Themeeval "$(starship init zsh)"export STARSHIP_CONFIG="$HOME/.config/starship.toml"
Salve o arquivo e feche o editor. Para que as alterações tenham efeito, feche e abra o terminal novamente.
Configurando o Starship
Seção intitulada “Configurando o Starship”O starship não é um tema, mas um framework para criar e definir temas. Ele é extremamente customizável, e você pode definir o prompt do jeito que quiser. Se quiser aprender mais sobre, acesse a documentação oficial.
Neste capítulo, vamos utilizar um dos temas já prontos, os quais são chamados de presets. Acesse o link e escolha o tema que mais lhe agrada. Vamos utilizar o tema Nerd Font Symbols, mas o passo a passo é similar para qualquer outro.
O Starship também tem um arquivo de configuração chamado starship.toml
, que é onde você pode definir as configurações do prompt.
Por padrão, este arquivo pode não existir.
Para criar um no Windows com o PowerShell, execute os comandos a seguir.
mkdir -Force $HOME\.configNew-Item -Path $HOME\.config\starship.toml -ItemType File
Já no Linux (incluindo o WSL), execute o comando abaixo.
mkdir -p ~/.config && touch ~/.config/starship.toml
Depois de criado, precisamos copiar o conteúdo de um preset para dentro desse arquivo. O starship oferece um comando para fazer justamente isso.
No Windows com o PowerShell, execute o comando a seguir.
starship.exe preset nerd-font-symbols -o $ENV:STARSHIP_CONFIG
Já no Linux (incluindo o WSL), execute o comando abaixo.
starship preset nerd-font-symbols -o $STARSHIP_CONFIG
Considerações
Seção intitulada “Considerações”O Starship é um framework novo e em constante desenvolvimento. Uma funcionalidade que foi implementada para o PowerShell, mas ainda não para o Zsh, é a de definir o prompt de forma transitória.
Isso significa que apenas a linha atual terá todos os detalhes do prompt, e as demais linhas terão um prompt mais simples.


Se você preferir desativar o prompt transitório no PowerShell, basta remover a última linha do arquivo de configurações.
## Shell configuration
### Theme$ENV:STARSHIP_CONFIG = "$HOME\.config\starship.toml"function Invoke-Starship-TransientFunction { &starship module character}Invoke-Expression (&starship init powershell)Enable-TransientPrompt