Script para formatação máquina

@eddiecsilva eu tenho esse script aqui para formatação do notebook

mesmo pedindo ajuda para o gemini, estou em dúvida se a parte dos repositórios estão corretas!

teria como dar uma olhada para mim porfavor?

#!/bin/bash

# Define cores para saída do terminal

VERDE='\\033\[0;32m'
AZUL='\\033\[0;34m'
SEM_COR='\\033\[0m'

echo -e "${VERDE}\[INFO\] - Iniciando atualização e configuração do sistema...${SEM_COR}"

# 1. Habilitando arquitetura 32-bit (necessário para a Steam)

echo -e "${AZUL}\[INFO\] - Habilitando suporte à arquitetura 32-bit (i386)...${SEM_COR}"
sudo dpkg --add-architecture i386

# 2. Desinstalando programas indesejados

echo -e "${AZUL}\[INFO\] - Removendo programas desnecessários...${SEM_COR}"
sudo apt purge -y 
rhythmbox\* 
xed 
gucharmap 
sticky 
yelp 
kdeconnect 
onboard 
redshift-gtk 
drawing 
pix 
thingy 
xviewer 
info 
celluloid 
hypnotix 
hexchat 
thunderbird 
seahorse

# 3. Instalando dependências necessárias (wget, curl, gpg, etc.)

echo -e "${AZUL}\[INFO\] - Instalando dependências essenciais...${SEM_COR}"
sudo apt update
sudo apt install -y wget curl ca-certificates gpg

# 4. Adicionando Repositório e Chave do Google Chrome (método moderno e seguro)

echo -e "${AZUL}\[INFO\] - Adicionando repositório e chave do Google Chrome...${SEM_COR}"
wget -qO- https://dl.google.com/linux/linux_signing_key.pub | gpg --dearmor | sudo tee /usr/share/keyrings/google-chrome-keyring.gpg > /dev/null
echo "deb \[arch=amd64 signed-by=/usr/share/keyrings/google-chrome-keyring.gpg\] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list > /dev/null

# 5. Adicionando Repositório e Chave do Microsoft Edge (método moderno e seguro)

echo -e "${AZUL}\[INFO\] - Adicionando repositório e chave do Microsoft Edge...${SEM_COR}"
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /usr/share/keyrings/microsoft-edge-keyring.gpg > /dev/null
echo "deb \[arch=amd64 signed-by=/usr/share/keyrings/microsoft-edge-keyring.gpg\] https://packages.microsoft.com/repos/edge stable main" | sudo tee /etc/apt/sources.list.d/microsoft-edge.list > /dev/null

# 6. Adicionando Repositório e Chave da Steam

echo -e "${AZUL}\[INFO\] - Adicionando repositório e chave oficial da Steam...${SEM_COR}"
wget -qO- https://repo.steampowered.com/steam/archive/stable/steam.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/steam-archive-keyring.gpg > /dev/null
echo "deb \[arch=amd64,i386 signed-by=/usr/share/keyrings/steam-archive-keyring.gpg\] https://repo.steampowered.com/steam/ stable steam" | sudo tee /etc/apt/sources.list.d/steam-official.list > /dev/null

# 7. Atualizando listas de pacotes após adicionar os novos repositórios

echo -e "${AZUL}\[INFO\] - Atualizando lista de pacotes...${SEM_COR}"
sudo apt update

# 8. Instalando pacotes do repositório + Navegadores + Steam

echo -e "${AZUL}\[INFO\] - Instalando aplicativos do repositório...${SEM_COR}"
sudo apt install -y 
google-chrome-stable 
microsoft-edge-stable 
steam 
vlc 
clementine 
soundconverter 
brasero 
numlockx 
cdrdao 
spotify-client 
audacity 
dconf-editor 
kdenlive 
gparted 
obs-studio 
plank 
piper 
usb-creator-gtk 
shotwell 
gedit 
gimp 
ubuntu-restricted-extras 
ttf-mscorefonts-installer 
cmatrix 
speedtest-cli 
neofetch 
mgba-common 
mgba-qt 
mgba-sdl 
pcsxr 
scrcpy 
openjdk-21-jdk 
devede

# 9. Baixando e Instalando pacotes .deb externos (Minecraft e Discord)

echo -e "${AZUL}\[INFO\] - Baixando e instalando o Minecraft Launcher oficial...${SEM_COR}"
wget -O /tmp/Minecraft.deb https://launcher.mojang.com/download/Minecraft.deb
sudo apt install -y /tmp/Minecraft.deb
rm /tmp/Minecraft.deb

echo -e "${AZUL}\[INFO\] - Baixando e instalando o Discord oficial (.deb)...${SEM_COR}"
wget -O /tmp/Discord.deb "https://discord.com/api/download?platform=linux&format=deb"
sudo apt install -y /tmp/Discord.deb
rm /tmp/Discord.deb

# 10. Atualização completa, limpeza final e otimização do sistema

echo -e "${AZUL}\[INFO\] - Executando atualização de pacotes e limpeza final do sistema...${SEM_COR}"
sudo apt dist-upgrade -y
sudo apt install -f -y
sudo apt autoremove --purge -y
sudo apt autoclean -y

# 11. Finalização

echo -e "${VERDE}\[INFO\] - Script finalizado, instalação concluída com sucesso! :)${SEM_COR}"

Salve @SuperSayajin, tudo bem contigo?

Hoje estou longe do PC então não consigo fazer debugs completos, mas olhando rapidamente algo que chamou minha atenção foram as quebras de linha. Creio que cada linha deveria ter um " \ " para indicar a continuidade da string. Dessa forma, me parece que o apt vai rodar um purge com confirmação forçada sem nenhum parâmetro extra.

Esse esquema de codificação de cores que você está usando é algo que eu praticamente não uso, então não tenho certeza no momento se esse código não está impactando em outras partes do script.

Outra coisa é usar URLS diretas de repositórios terceiros no meio do script, esse é uma prática que eu não recomendo e que pode deixar a manutenção mais complicada. Minha sugestão é criar variáveis no começo com todas as URLS que precisar e no código você referencia elas.

De forma geral, eu prefiro scripts interativos ao invés de automatização total, um “-y” no lugar errado vai detonar o sistema e provavelmente só vamos conseguir perceber depois.

Finalmente chegando na parte dos repositórios, os comandos parecem certos porém eu prefiro usar DPKG para instalar pacotes externos ao invés do APT diretamente. Acho o DPKG mais verboso, o que ajuda a entender melhor quando as coisas não funcionam como deveriam.

Assim que eu conseguir um tempo, olho o script com mais detalhes.

:vulcan_salute: