Last active
May 3, 2021 20:39
-
-
Save antoniordo/78d5abb2426fba5f61faca345d5f00c7 to your computer and use it in GitHub Desktop.
RemovidoOpera, adicionado iotop, configurado limite máximo de área de memória virtual.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
#----------------------------------------------------------------------------------------------------------------------- | |
# Este script configura e instala um Arch Linux voltado para desenvolvimento com ambiente gráfico com Xorg e Gnome, | |
# incluíndo suporte a: Java, Python, NodeJs, entre outras. | |
#----------------------------------------------------------------------------------------------------------------------- | |
# Baixando o script: | |
# curl -L -o /root/arch-configurar.sh 'http://bit.ly/arch-configurar' | |
#----------------------------------------------------------------------------------------------------------------------- | |
# Ele é dividido e deve ser executado em três etapas que seguem: | |
# * Primeira etapa (configuração) | |
# Editar o script baixado e configurar as variáveis de ambiente na seção Configurações da instalação e salvar: | |
# vim /root/arch-configurar.sh | |
# * Segunda Etapa (instalação do sistema base): | |
# bash /root/arch-configurar.sh | |
# * Terceira Etapa (instalação dos pacotes e configurações): | |
# O script termina a etapa anterior fazendo chroot do Archiso, etão basta executá-lo novamente com o comando: | |
# bash /root/arch-configurar.sh | |
# Ao final basta reiniciar a máquina. | |
#----------------------------------------------------------------------------------------------------------------------- | |
set -e | |
#======================================================================================================================= | |
# Configurações da instalação | |
#======================================================================================================================= | |
# Nome do host do pc na rede (equerido) | |
NOME_HOST="" | |
# Usuário principal a ser criado e configurado durante a instação | |
USUARIO_PRINCIPAL="" | |
# Lingua principal e codigicação "pt_BR.UTF-8" (Brasil) "en_US.UTF-8" (Estados Unidos) | |
LINGUA_PRINCIPAL="pt_BR.UTF-8" | |
# Mapa de teclado "us-acentos" (Americano) ou "br-abnt2" (Brasileiro) | |
KEYMAP_TECLADO="us-acentos" | |
# Partição raiz do sistema (udev), ex: /dev/sda2 | |
PARTICAO_RAIZ="" | |
# Partição swap do sistema (udev), ex: /dev/sda3 | |
PARTICAO_SWAP="" | |
# Se a cpu do computador é intel definir true, caso contrário false | |
TIPO_CPU_INTEL=true | |
# Se a cpu do computador é intel definir true, caso contrário false | |
TIPO_CPU_AMD=false | |
# Instalar Drivers da Nvidia | |
USAR_NVIDA=true | |
# Configurar Nvidia Optmus (para notebooks com placa de vídeo híbrida) | |
USAR_NVIDA_OPTMUS=true | |
# Configurar vídeo integrado da Intel | |
USAR_INTEL_GRAPHICS=true | |
# Hbilitar bluetooth | |
HABILITAR_BLUETOOTH=true | |
# Habilitar caso esteja instalando o sistema em uma máquina virtual do VirtualBox | |
APLICAR_CONFIGURACOES_CONVIDADO_VIRTUALBOX=false | |
REGIAO_HORARIO="America/Maceio" | |
# Valores possíveis: arch, arch-lts | |
KERNEL_DEFAULT="arch" | |
#======================================================================================================================= | |
function validar_necessidade_root() { | |
if [[ $EUID -ne 0 ]]; then | |
echo "Esse script deve ser executado como root!" | |
exit 1 | |
fi | |
} | |
function falhar_validacao_configuracao() { | |
local nomeParametro=$1 | |
echo "ATENÇÃO" | |
echo "Antes de prosseguir é necessário configurar o parâmetro ${nomeParametro} neste script" | |
echo "O script foi interrompido" | |
echo "Edite o script com o comando: nano $0" | |
exit 2 | |
} | |
function validar_configuracoes_script() { | |
if [[ -z ${NOME_HOST} ]]; then | |
falhar_validacao_configuracao "NOME_HOST" | |
fi | |
if [[ -z ${USUARIO_PRINCIPAL} ]]; then | |
falhar_validacao_configuracao "USUARIO_PRINCIPAL" | |
fi | |
if [[ -z ${PARTICAO_RAIZ} ]]; then | |
falhar_validacao_configuracao "PARTICAO_RAIZ" | |
fi | |
if [[ ! -b ${PARTICAO_RAIZ} ]]; then | |
echo "A partição raiz ${PARTICAO_RAIZ} não existe!" | |
echo "O script foi interrompido" | |
exit 2 | |
fi | |
if [[ ! -b ${PARTICAO_SWAP} ]]; then | |
echo "A partição swap ${PARTICAO_SWAP} não existe!" | |
echo "O script foi interrompido" | |
exit 2 | |
fi | |
if ${TIPO_CPU_INTEL} && ${TIPO_CPU_AMD}; then | |
echo "O tipo de CPU não pode ser ao mesmo tempo TIPO_CPU_INTEL e TIPO_CPU_AMD" | |
echo "O script foi interrompido" | |
exit 2 | |
fi | |
} | |
function validar_conectiviade_internet() { | |
if ping -q -c 1 -W 1 8.8.8.8 >/dev/null; then | |
echo "Link de internet funcionando." | |
else | |
echo "Não foi detectado contectividade de internet." | |
echo "O script foi interrompido." | |
exit 3 | |
fi | |
} | |
function is_ambiente_archiso() { | |
if [[ "archiso" == "$(cat /proc/sys/kernel/hostname)" ]]; then | |
return 0 | |
else | |
return 1 | |
fi | |
} | |
function is_ambiente_chroot() { | |
if [[ "$(stat -c %d:%i /)" != "$(stat -c %d:%i /proc/1/root/.)" ]]; then | |
return 0 | |
else | |
return 1 | |
fi | |
} | |
function mostrar_painel_confirmacao_configuracoes() { | |
clear | |
printf "\n===========================================================================================" | |
printf "\nConfiguração do Arch Linux" | |
printf "\n===========================================================================================" | |
printf "\nEste script deve ser executado após o passo chroot no guia de instalação." | |
printf "\n\nConfira as configurações do script antes de prosseguir:" | |
printf "\n--------------------------------------------------------------------------------------------" | |
printf "\n Descrição da configuração | Nome da variável |Valor " | |
printf "\n--------------------------------------------------------------------------------------------" | |
printf "\n Nome do host | NOME_HOST | %s" "${NOME_HOST}" | |
printf "\n Usuário a ser criado | USUARIO_PRINCIPAL | %s" "${USUARIO_PRINCIPAL}" | |
printf "\n Língua principal | LINGUA_PRINCIPAL | %s" "${LINGUA_PRINCIPAL}" | |
printf "\n Partição raiz | PARTICAO_RAIZ | %s" "${PARTICAO_RAIZ}" | |
printf "\n Partição Swap | PARTICAO_SWAP | %s" "${PARTICAO_SWAP}" | |
printf "\n CPU Intel? | TIPO_CPU_INTEL | %s" "${TIPO_CPU_INTEL}" | |
printf "\n CPU AMD? | TIPO_CPU_AMD | %s" "${TIPO_CPU_AMD}" | |
printf "\n Drivers Nvidia? | USAR_NVIDA | %s" "${USAR_NVIDA}" | |
printf "\n Configurar Nvidia Optmus? | USAR_NVIDA_OPTMUS | %s" "${USAR_NVIDA_OPTMUS}" | |
printf "\n Drivers gráficos Intel? | USAR_INTEL_GRAPHICS | %s" "${USAR_INTEL_GRAPHICS}" | |
printf "\n Habilitar Bluetooth? | HABILITAR_BLUETOOTH | %s" "${HABILITAR_BLUETOOTH}" | |
printf "\n----------------------------------------------------------------------------------------------" | |
printf "\n\nSe estiver tudo certo pressione enter para continuar" | |
printf "\nPara abortar agora pressione ctrl + c\n" | |
read -p "" | |
} | |
configurar_pre_chroot() { | |
echo "[ Preparação ] ================================================================================================" | |
loadkeys ${KEYMAP_TECLADO} | |
timedatectl set-ntp true | |
mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup | |
curl 'https://www.archlinux.org/mirrorlist/?country=BR&country=US&protocol=http&protocol=https&ip_version=4' \ | |
| sed 's/#Server/Server/g' | tee /etc/pacman.d/mirrorlist | |
echo "[ Sistema Base ] ==============================================================================================" | |
pacstrap /mnt base base-devel linux linux-firmware | |
echo "[ Fstab ] =====================================================================================================" | |
genfstab -U /mnt >> /mnt/etc/fstab | |
sed --in-place=.bak -e 's/relatime/noatime/g' /mnt/etc/fstab | |
echo "[ Chroot ] ====================================================================================================" | |
SOURCE="${BASH_SOURCE[0]}" | |
while [[ -h "$SOURCE" ]]; do | |
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" | |
SOURCE="$(readlink "$SOURCE")" | |
[[ ${SOURCE} != /* ]] && SOURCE="$DIR/$SOURCE" | |
done | |
NOME_ESTE_ARQUIVO=$(basename "$0") | |
CAMINHO_COMPLETO_ESTE_SCRIPT="$( cd -P "$( dirname "$SOURCE" )" && pwd )/${NOME_ESTE_ARQUIVO}" | |
cp "$CAMINHO_COMPLETO_ESTE_SCRIPT" "/mnt/root/${NOME_ESTE_ARQUIVO}" | |
printf "\n\nATENÇÃO: CHROOT" | |
printf "\nAgora serã feito o Chroot, após este processo será necessário executar o script novamente para continuar" | |
printf "\nExecute o script com o comando: bash /root/%s" "${NOME_ESTE_ARQUIVO}" | |
printf "\nPressione Enter para continuar para o ambiente chrooteado...\n" | |
read -p "" | |
arch-chroot /mnt | |
} | |
configurar_pos_chroot() { | |
echo "[ Horário ] ===================================================================================================" | |
ln -sf "/usr/share/zoneinfo/${REGIAO_HORARIO}" /etc/localtime | |
hwclock --systohc | |
echo "[ Locale ] ====================================================================================================" | |
echo "Arquivo /etc/locale.gen" | |
sed -i 's/#pt_BR.UTF-8/pt_BR.UTF-8/g' /etc/locale.gen | |
sed -i 's/#en_US.UTF-8/en_US.UTF-8/g' /etc/locale.gen | |
echo "Gerar Locales" | |
locale-gen | |
echo "Arquivo /etc/locale.conf" | |
echo "LANG=${LINGUA_PRINCIPAL}" | tee /etc/locale.conf | |
echo "Arquivo /etc/vconsole.conf" | |
echo "KEYMAP=${KEYMAP_TECLADO}" | tee /etc/vconsole.conf | |
echo "[ Rede ] ======================================================================================================" | |
echo "Arquivo /etc/hostname" | |
echo "${NOME_HOST}" | tee /etc/hostname | |
echo "Arquivo /etc/hosts" | |
echo "127.0.0.1 localhost.localdomain localhost" > /etc/hosts | |
echo "::1 localhost.localdomain localhost" >> /etc/hosts | |
echo "127.0.0.1 ${NOME_HOST}.localdomain ${NOME_HOST}" >> /etc/hosts | |
echo "[ Inicialização/Boot ] ========================================================================================" | |
echo "Instalar pré-requisitos" | |
pacman -S --noconfirm xfsprogs | |
echo "Criar ramdisk do kernel" | |
mkinitcpio -p linux | |
echo "Defina uma senha para o usuário root" | |
passwd | |
if ${TIPO_CPU_INTEL}; then | |
echo "Instalar suporte a microde Intel" | |
pacman -S --noconfirm intel-ucode | |
fi | |
if ${TIPO_CPU_AMD}; then | |
echo "Instalar suporte a microde AMD" | |
pacman -S --noconfirm amd-ucode | |
fi | |
echo "Instalar bootloader" | |
bootctl install | |
echo "Arquivo /boot/loader/loader.conf" | |
echo "timeout 3" > /boot/loader/loader.conf | |
echo "default ${KERNEL_DEFAULT}" >> /boot/loader/loader.conf | |
echo "Arquivo /boot/loader/entries/arch.conf" | |
UUID_PARTICAO_RAIZ=$(blkid -o value -s UUID ${PARTICAO_RAIZ}) | |
UUID_PARTICAO_SWAP=$(blkid -o value -s UUID ${PARTICAO_SWAP}) | |
OPTION_PARTICAO_ROOT="resume=UUID=${UUID_PARTICAO_SWAP} root=UUID=${UUID_PARTICAO_RAIZ} rw" | |
OPTION_NVIDIA="nvidia nvidia-drm.modeset=1 ${OPTION_PARTICAO_ROOT}" | |
OPTION_NVIDIA_OPTMUS="nvidia NVreg_Mobile=1 nvidia-drm.modeset=1 ${OPTION_PARTICAO_ROOT}" | |
OPTIONS="${OPTION_PARTICAO_ROOT}" | |
if ${USAR_NVIDA}; then | |
OPTIONS=${OPTION_NVIDIA} | |
if ${USAR_NVIDA_OPTMUS}; then | |
OPTIONS=${OPTION_NVIDIA_OPTMUS} | |
fi | |
fi | |
if ${APLICAR_CONFIGURACOES_CONVIDADO_VIRTUALBOX}; then | |
pacman -S --noconfirm virtualbox-guest-utils virtualbox-guest-modules-arch | |
fi | |
#Arquivo de boot principal | |
entradaInitrdMicrocode="" | |
if ${TIPO_CPU_INTEL}; then | |
entradaInitrdMicrocode="initrd /intel-ucode.img" | |
elif ${TIPO_CPU_AMD}; then | |
entradaInitrdMicrocode="initrd /amd-ucode.img" | |
fi | |
echo "title Arch Linux" > /boot/loader/entries/arch.conf | |
echo "linux /vmlinuz-linux" >> /boot/loader/entries/arch.conf | |
echo "${entradaInitrdMicrocode}" >> /boot/loader/entries/arch.conf | |
echo "initrd /initramfs-linux.img" >> /boot/loader/entries/arch.conf | |
echo "options ${OPTIONS}" >> /boot/loader/entries/arch.conf | |
#Arquivo de boot kernel LTS | |
echo "title Arch Linux LTS Kernel" > /boot/loader/entries/arch-lts.conf | |
echo "linux /vmlinuz-linux-lts" >> /boot/loader/entries/arch-lts.conf | |
echo "${entradaInitrdMicrocode}" >> /boot/loader/entries/arch-lts.conf | |
echo "initrd /initramfs-linux-lts.img" >> /boot/loader/entries/arch-lts.conf | |
echo "options ${OPTIONS}" >> /boot/loader/entries/arch-lts.conf | |
echo "[ NetworkManager ] ============================================================================================" | |
pacman -S --noconfirm networkmanager | |
systemctl enable NetworkManager.service | |
echo "[ Criação do usuário principal ] ==============================================================================" | |
echo "Criando usuário ${USUARIO_PRINCIPAL}" | |
groupadd sudo --force | |
useradd -m -g users -G wheel,sudo,adm,log,sys,disk,input,kvm,storage,games,audio,video,network \ | |
-s /bin/bash ${USUARIO_PRINCIPAL} | |
echo "Configure a senha do usuário ${USUARIO_PRINCIPAL}" | |
passwd ${USUARIO_PRINCIPAL} | |
echo "Habilitação do sudo" | |
sed -i 's/#.%sudo/%sudo/g' /etc/sudoers | |
echo "[ Instalando pacotes base (gerais) ] ==========================================================================" | |
pacman -S --noconfirm openssh vi vim jq wget extra/tree ntfs-3g linux-headers core/linux-lts core/linux-lts-headers \ | |
pacman-contrib gnu-netcat exfat-utils community/bat | |
echo "[ Instalação do Xorg e Drivers ] ==============================================================================" | |
echo "Xorg" | |
pacman -S --noconfirm xorg-server xorg-xinit | |
#Faz backup do xorg.conf caso exista | |
if [[ -f /etc/X11/xorg.conf ]]; then | |
mv /etc/X11/xorg.conf /etc/X11/xorg.conf.backup_instalacao | |
fi | |
if ${USAR_NVIDA}; then | |
echo "Driver da Nvidia" | |
pacman -S --noconfirm nvidia | |
if ! ${USAR_NVIDA_OPTMUS}; then | |
nvidia-xconfig | |
fi | |
fi | |
if ${USAR_INTEL_GRAPHICS}; then | |
echo "Driver Intel Graphics" | |
pacman -S --noconfirm xf86-video-intel | |
pacman -S --noconfirm mesa vulkan-intel | |
# Arquivo /etc/X11/xorg.conf-intel | |
echo 'Section "Device"' > /etc/X11/xorg.conf-intel | |
echo ' Identifier "Intel Graphics"' >> /etc/X11/xorg.conf-intel | |
echo ' Driver "intel"' >> /etc/X11/xorg.conf-intel | |
echo ' Option "DRI" "3" # usar DRI 2 caso tenha problemas' >> /etc/X11/xorg.conf-intel | |
echo ' Option "AccelMethod" "sna" # default comentar se necessário' >> /etc/X11/xorg.conf-intel | |
echo ' #Option "AccelMethod" "uxa" # fallback descomentar se necessário' >> /etc/X11/xorg.conf-intel | |
echo 'EndSection' >> /etc/X11/xorg.conf-intel | |
# Link colocando Intel como dispositivo de vídeo primário no xorg | |
ln -sf /etc/X11/xorg.conf-intel /etc/X11/xorg.conf | |
echo "options i915 enable_guc=2 enable_fbc=1 i915.fastboot=1" | tee /etc/modprobe.d/i915.conf | |
fi | |
if ${USAR_NVIDA_OPTMUS}; then | |
echo "Usando Intel e Nvidia em placas híbridas" | |
echo "" | tee /etc/X11/xorg.conf-nvidia | |
fi | |
echo "[ Fonts adicionais ] ==========================================================================================" | |
pacman -S --noconfirm ttf-dejavu ttf-inconsolata ttf-fira-mono ttf-fira-sans ttf-font-awesome noto-fonts-emoji \ | |
ttf-bitstream-vera community/ttf-jetbrains-mono | |
echo "[ Instalação Gnome ] ==========================================================================================" | |
pacman -S --noconfirm gnome gnome-software | |
echo "Network Manager" | |
pacman -S --noconfirm dhclient networkmanager-openvpn networkmanager-openconnect network-manager-applet | |
echo "Pacotes adicionais" | |
pacman -S --noconfirm arc-gtk-theme firefox chromium tilix fish zsh rdesktop libxss arc-icon-theme breeze-icons \ | |
oxygen-icons papirus-icon-theme elementary-icon-theme gnome-tweaks extra/xclip remmina \ | |
extra/xorg-xkill gimp gthumb uget ncdu hardinfo sysbench core/krb5 hdparm fwupd \ | |
extra/mesa-demos community/obs-studio extra/htop community/iotop | |
echo "Adição do comando de execução default do Gnome no startx" | |
echo "exec gnome-session" | tee ~/.xinitrc | |
echo "exec gnome-session" | tee /home/${USUARIO_PRINCIPAL}/.xinitrc | |
chown "${USUARIO_PRINCIPAL}" /home/${USUARIO_PRINCIPAL}/.xinitrc | |
echo "Habilitação do GDM" | |
systemctl enable gdm.service | |
echo "Configuração do GDM para usar o Xorg ao invés do Wayland" | |
sed -i 's/#WaylandEnable=false/WaylandEnable=false/g' /etc/gdm/custom.conf | |
echo "[ Sistema de impressão (CUPS) ] ===============================================================================" | |
sudo pacman -S --noconfirm cups | |
systemctl enable org.cups.cupsd.service | |
echo "[ Gerenciamento de energia ] ==================================================================================" | |
echo "Ferramentas de gerenciamento de energia e do Gnome" | |
pacman -S --noconfirm acpid gnome-power-manager | |
echo "Habilitar o serviço de gerenciamento ACPI" | |
systemctl enable acpid | |
echo "[ Pacotes desenvolvimento ] ===================================================================================" | |
echo "Git" | |
pacman -S --noconfirm git | |
echo "Nodejs LTS e ferramentas" | |
pacman -S --noconfirm nodejs-lts-erbium yarn npm | |
echo "Java JDK 11 LTS" | |
pacman -S --noconfirm jdk11-openjdk openjdk11-src | |
echo "Java JDK 8 LTS" | |
pacman -S --noconfirm jdk8-openjdk openjdk8-src | |
echo "Ferramentas Java" | |
pacman -S --noconfirm scala community/sbt maven gradle extra/visualvm | |
echo "DBeaver" | |
pacman -S --noconfirm community/dbeaver | |
echo "Docker e compose" | |
pacman -S --noconfirm docker | |
pacman -S --noconfirm docker-compose | |
usermod -aG docker ${USUARIO_PRINCIPAL} | |
systemctl enable docker | |
echo "Vault" | |
pacman -S --noconfirm community/vault | |
echo "Ansible" | |
pacman -S --noconfirm community/ansible | |
echo "AWS CLI" | |
pacman -S --noconfirm aws-cli | |
echo "Kubernetes Ferramentas" | |
pacman -S --noconfirm kubectl minikube | |
echo "Python e ferramentas" | |
pacman -S --noconfirm python extra/python-pip python-virtualenv python-virtualenvwrapper | |
echo "Outras linguagens" | |
pacman -S --noconfirm go | |
echo "Virtualbox" | |
pacman -S --noconfirm virtualbox | |
echo "Ferramentas para virtualização" | |
pacman -S --noconfirm community/vagrant community/packer community/terraform | |
echo "VS Code" | |
pacman -S --noconfirm community/code | |
echo "[ Pacotes diversos ] ==========================================================================================" | |
pacman -S --noconfirm psensor cpupower extra/vlc | |
echo "[ Configurando serviço SSH ] ==================================================================================" | |
systemctl enable sshd | |
COMENTARIO_CHAVE_SSH="${USUARIO_PRINCIPAL}@$(hostname)-$(date -I)" | |
sudo -u ${USUARIO_PRINCIPAL} ssh-keygen -N '' -C "${COMENTARIO_CHAVE_SSH}" -f /home/${USUARIO_PRINCIPAL}/.ssh/id_rsa | |
echo "[ Configurando diretórios padrão de desenvolvimento ] =========================================================" | |
sudo -u ${USUARIO_PRINCIPAL} mkdir -p /home/${USUARIO_PRINCIPAL}/dev | |
sudo -u ${USUARIO_PRINCIPAL} mkdir -p /home/${USUARIO_PRINCIPAL}/dev/apps | |
sudo -u ${USUARIO_PRINCIPAL} mkdir -p /home/${USUARIO_PRINCIPAL}/dev/projects | |
sudo -u ${USUARIO_PRINCIPAL} mkdir -p /home/${USUARIO_PRINCIPAL}/dev/projects/${USUARIO_PRINCIPAL} | |
echo "[ Habilitar Bluetooth ] =======================================================================================" | |
if ${HABILITAR_BLUETOOTH}; then | |
sudo pacman -S --noconfirm bluez bluez-utils | |
systemctl enable bluetooth.service | |
fi | |
echo "[ Yay instalação ] ============================================================================================" | |
TEMP_DOWNLOAD_DIRECTORY=$(sudo -u $USUARIO_PRINCIPAL mktemp -d) | |
chmod 777 "$TEMP_DOWNLOAD_DIRECTORY" | |
cd "$TEMP_DOWNLOAD_DIRECTORY" | |
sudo -u $USUARIO_PRINCIPAL git clone https://aur.archlinux.org/yay.git | |
cd yay | |
sudo -u $USUARIO_PRINCIPAL makepkg -si | |
cd | |
rm -rf "$TEMP_DOWNLOAD_DIRECTORY" | |
echo "[ Configurações diversas ] ====================================================================================" | |
echo "Aumentar a quantidade de arquivos simultâneos abertos" | |
echo "fs.inotify.max_user_watches = 524288" | tee /etc/sysctl.d/max_watches.conf | |
echo "* soft nofile 128000" | tee -a /etc/security/limits.d/nofile.conf | |
echo "* hard nofile 128000" | tee -a /etc/security/limits.d/nofile.conf | |
echo "Aumentar limite máximo de área de memória virtual" | |
sudo sysctl -w vm.max_map_count=262144 | |
echo "Configuração do Tilix para o bash" | |
BASH_RC_USUARIO_PRINCIPAL="/home/$USUARIO_PRINCIPAL/.bashrc" | |
sudo -u $USUARIO_PRINCIPAL touch $BASH_RC_USUARIO_PRINCIPAL | |
echo 'if [ $TILIX_ID ] || [ $VTE_VERSION ]; then' >> $BASH_RC_USUARIO_PRINCIPAL | |
echo ' source /etc/profile.d/vte.sh' >> $BASH_RC_USUARIO_PRINCIPAL | |
echo 'fi' >> $BASH_RC_USUARIO_PRINCIPAL | |
echo "Instalação do Oh My ZSH para o usuário $USUARIO_PRINCIPAL" | |
URL_SCRIPT_OHMYZSH='https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh' | |
CHSH='no' RUNZSH='no' sudo -u $USUARIO_PRINCIPAL sh -c "$(curl -fsSL ${URL_SCRIPT_OHMYZSH})" | |
echo "Configuração do Tilix para o zsh" | |
ZSH_RC_USUARIO_PRINCIPAL="/home/$USUARIO_PRINCIPAL/.zshrc" | |
sudo -u $USUARIO_PRINCIPAL touch $ZSH_RC_USUARIO_PRINCIPAL | |
echo 'if [ $TILIX_ID ] || [ $VTE_VERSION ]; then' >> $ZSH_RC_USUARIO_PRINCIPAL | |
echo ' source /etc/profile.d/vte.sh' >> $ZSH_RC_USUARIO_PRINCIPAL | |
echo 'fi' >> $ZSH_RC_USUARIO_PRINCIPAL | |
echo "===============================================================================================================" | |
echo "Concluído pós chroot." | |
echo "Reinicie o sistema." | |
echo "===============================================================================================================" | |
} | |
function main() { | |
validar_necessidade_root | |
validar_configuracoes_script | |
validar_conectiviade_internet | |
mostrar_painel_confirmacao_configuracoes | |
if ! is_ambiente_chroot; then | |
configurar_pre_chroot | |
else | |
configurar_pos_chroot | |
fi | |
echo "Concluído." | |
} | |
# [ Execução ] ========================================================================================================= | |
main |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment