Pular para o conteúdo

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!

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.

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.

PowerShell
winget install --id Starship.Starship
Terminal com o PowerShell, em que se executa o comando de instalação do Starship.
Instalando o Starship no PowerShell.

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. Sua localização é $HOME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1. Felizmente, o Windows provê uma variável de ambiente chamada $PROFILE que aponta justamente para esse arquivo.

Vamos abrir o arquivo de configuração com o VSCode, executando o comando abaixo.

PowerShell
code $PROFILE

Adicione as seguintes linhas ao arquivo.

$HOME/Documents/PowerShell/Microsoft.PowerShell_profile.ps1
## Shell configuration
### Theme
$ENV:STARSHIP_CONFIG = "$HOME\.config\starship.toml"
function Invoke-Starship-TransientFunction {
&starship module character
}
Invoke-Expression (&starship init powershell)
Arquivo de configuração do PowerShell aberto no Visual Studio Code, com as linhas de configuração do Starship adicionadas.
Arquivo de configuração do PowerShell com o comando para executar o Starship.

Salve o arquivo e feche o editor. Para que as alterações tenham efeito, 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.

Fedora ou WSL
sudo dnf install curl -y

Ou como a seguir no Mint.

Mint
sudo apt install curl -y

Para instalar o Starship, execute o comando:

Fedora, WSL ou Mint
sudo curl -sS https://starship.rs/install.sh | sh

Quando perguntado se deseja prosseguir com a instalação, pressione a tecla y y e então a tecla Enter Enter . Se prompt solicitar sua senha, digite-a e pressione Enter Enter .

Terminal com o Zsh, em que se executa o comando de instalação do Starship.
Executando comando de instalação do Starship no Zsh.

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.

Terminal com o Zsh, em que se exibe a mensagem de sucesso da instalação do Starship.
Mensagem de sucesso da instalação do Starship no Zsh.

O arquivo de configurações do Zsh é o ~/.zshrc. Vamos editá-lo usando o VSCode com o seguinte comando abaixo.

Fedora, WSL ou Mint
code ~/.zshrc

Atualize o arquivo da seguinte forma.

~/.zshrc
## Path configuration
PATH=$PATH:~/.local/bin
## Shell configuration
ZSH_THEME="robbyrussell"
### Path to Oh My Zsh installation
export ZSH="$HOME/.oh-my-zsh"
### Source Oh my Zsh
source $ZSH/oh-my-zsh.sh
### Plugins
plugins=(
git
)
### Theme
eval "$(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.

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.

PowerShell
mkdir -Force $HOME\.config
New-Item -Path $HOME\.config\starship.toml -ItemType File

Já no Linux (incluindo o WSL), execute o comando abaixo.

Fedora, WSL ou Mint
mkdir -p ~/.config && touch ~/.config/starship.toml

Então, feche e reabra o terminal.

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.

PowerShell
starship.exe preset nerd-font-symbols -o $ENV:STARSHIP_CONFIG

Já no Linux (incluindo o WSL), execute o comando abaixo.

Fedora, WSL ou Mint
starship preset nerd-font-symbols -o $STARSHIP_CONFIG