#!/bin/bash USERNAME=freenen SCRIPT_DIR="$(cd "$(dirname "$BASH_SOURCE[0]")" && pwd)" function run(){ if [ "$1" = "root" ] then box="" else box="sudo -u $USERNAME distrobox enter --name $1 --" fi echo "[ ] $1: $2" echo "# $2" >>first-boot.log echo "$1> $3" >>first-boot.log bash -c "$box $3" &>>first-boot.log \ && echo -e "\e[1A\e[K[ \e[32mOK\e[0m ] $1: $2" \ || { echo -e "\e[1A\e[K[\e[31mFAIL\e[0m] $1: $2" bash -c "$4" exit } echo >>first-boot.log } echo echo === install tools echo run root "enable NetworkMaanger" "systemctl enable NetworkManager.service" run root "start NetworkMaanger" "systemctl start NetworkManager.service" run root "wait for network" "while [[ 1 ]] ; do ping -c1 1.1.1.1 && break ; done" run root "install base tools" "pacman -Sy --noconfirm \ usbutils dosfstools exfat-utils net-tools bind nmap libfido2 \ base-devel vim curl ncdu neofetch btop git flatpak" run root "install dev tools" "pacman -S --noconfirm ansible python3 gcc make cmake" # clangd run root "install gnome" "pacman -S --noconfirm gnome" run root "enable gnome" "systemctl enable gdm.service" run root "install distrobox" "pacman -S --noconfirm docker distrobox" run root "add $USERNAME to docker group" "usermod -aG docker $USERNAME" HOME_IP="$(dig +short home.freenen.nl)" run root "update hosts file" "cat >>/etc/hosts <