Este repositório contém instruções e recursos para configuração do Windows 11, Debian e outros softwares.
Esta configuração é personalizada de acordo com minhas preferências e necessidades.
O uso do Windows 11 como sistema operacional é um requisito do meu atual emprego.
Optei por uma configuração manual e imperativa, visando controle e aprendizado.
Os comandos deste documento foram escritos para serem executados no PowerShell.
Os principais softwares instalados ou configurados com as instruções e recursos deste repositório são:
Certifique-se de que o winget
está instalado.
winget --version
Baixe e instale o winget
manualmente na Microsoft Store caso necessário.
Inicie o PowerShell como administrador e instale os softwares especificados abaixo.
winget install --source "winget" --scope "machine" --id "Microsoft.VCRedist.2015+.x64"
winget install --source "winget" --scope "machine" --id "Microsoft.VCRedist.2015+.x86"
winget install --source "winget" --scope "machine" --id "7zip.7zip"
winget install --source "winget" --scope "machine" --id "Alacritty.Alacritty"
winget install --source "winget" --scope "machine" --id "Git.Git" --override '/VERYSILENT /NODESKTOPICON /NOEXPLORER /COMPONENTS="icons,gitlfs" /NOASSOC /NOSCALAR /PATH'
winget install --source "winget" --scope "machine" --id "GitHub.cli"
winget install --source "winget" --scope "machine" --id "lsd-rs.lsd"
winget install --source "winget" --scope "machine" --id "Microsoft.PowerShell"
winget install --source "winget" --scope "machine" --id "Microsoft.VisualStudioCode" --override '/VERYSILENT /MERGETASKS="!runcode,desktopicon,addcontextmenufiles,addcontextmenufolders,associatefiles,path"'
winget install --source "winget" --scope "machine" --id "Starship.Starship"
Instale ou atualize o wsl
.
wsl --install --no-distribution
wsl --update
Instale a distribuição Debian no wsl
.
wsl --install "Debian"
Configure a distribuição Debian como padrão do wsl
.
wsl --set-default "Debian"
Os comandos desta seção foram escritos para serem executados no Bash.
Utilizando apt
, atualize a lista de pacotes e instale todas as atualizações disponíveis.
sudo apt update && sudo apt upgrade --assume-yes
Instale os pacotes especificados abaixo.
sudo apt install --assume-yes "apt-transport-https" "build-essential" "ca-certificates" "curl" "file" "fish" "git" "gnupg" "procps" "wget"
Crie o diretório /etc/apt/keyrings/
com as permissões 0755
, para armazenar chaves GPG.
sudo install --mode="0755" --directory "/etc/apt/keyrings/"
Baixe e converta as chaves GPG especificadas abaixo, salvando-as no diretório /etc/apt/keyrings/
.
sudo curl --fail "https://download.docker.com/linux/debian/gpg" | sudo gpg --dearmor --yes --output="/etc/apt/keyrings/docker.gpg"
sudo curl --fail "https://packages.cloud.google.com/apt/doc/apt-key.gpg" | sudo gpg --dearmor --yes --output="/etc/apt/keyrings/cloud.google.gpg"
Adicione os repositórios especificados abaixo como fontes de pacotes para o apt
.
Em seguida, atualize a lista de pacotes.
echo "deb [signed-by=/etc/apt/keyrings/docker.gpg arch=amd64] https://download.docker.com/linux/debian bookworm stable" | sudo tee "/etc/apt/sources.list.d/docker.list" > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee "/etc/apt/sources.list.d/google-cloud-sdk.list" > /dev/null
sudo apt update
Instale os pacotes especificados abaixo.
sudo apt install --assume-yes "containerd.io" "docker-buildx-plugin" "docker-ce-cli" "docker-ce" "docker-compose-plugin"
sudo apt install --assume-yes "google-cloud-cli"
Adicione o usuário definido na variável $USER
ao grupo "docker"
.
sudo usermod --append --groups "docker" $USER
Baixe e execute o script de instalação do Homebrew.
bash -c "$(curl --fail --silent --show-error --location https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Instale, utilizando o Homebrew, os pacotes especificados abaixo.
/home/linuxbrew/.linuxbrew/bin/brew install "carapace" "gcc" "gh" "git" "lsd" "starship" "uv"
O diretório resources/
contém arquivos para a configuração dos softwares especificados nas seções anteriores.
Esses recursos consistem principalmente em arquivos de configurações, como o .gitconfig
.
O diretório powershell/
contém scripts que configuram os softwares.
Esses scripts majoritariamente copiam arquivos de resources/
para os locais esperados pelos softwares.
Abaixo está um exemplo de como executar um desses scripts.
& ".\powershell\configure-windows-context-menu.ps1"