#!/bin/bash pushd "${BASH_SOURCE%/*}" > /dev/null; ARCH_TIMEZONE="${ARCH_TIMEZONE:-Europe/Zurich}"; ARCH_DISK="${ARCH_DISK}"; ARCH_HOSTNAME="${ARCH_HOSTNAME}"; ARCH_MOUNT_ROOT="${ARCH_MOUNT_ROOT:-"/mnt"}"; ARCH_LANG="${ARCH_LANG:-"en_US.UTF-8"}"; ARCH_KEYMAP="${ARCH_KEYMAP:-"de_CH-latin1"}"; ARCH_X11_KEYMAP="${ARCH_X11_KEYMAP:-"ch"}"; LOCALE_PATTERN="${LOCALE_PATTERN:-"\(de_CH\|en_US\)"}"; USER_NAME="${USER_NAME:-manuel}"; USER_DISPLAYNAME="${USER_DISPLAYNAME}"; USER_GROUPS="${USER_GROUPS}"; projectRoot="$(realpath ../../..)"; projectName="$(basename "$projectRoot")"; relativeDir="$(realpath --relative-to "$projectRoot" "$(pwd)")"; tempRoot="/root/$(basename "$projectName")"; cp -r "$projectRoot" "${ARCH_MOUNT_ROOT}$tempRoot"; tempDir="$tempRoot/$relativeDir"; loadkeys "$ARCH_KEYMAP"; timedatectl set-timezone "$ARCH_TIMEZONE"; . "./partition.sh"; pacstrap -K "$ARCH_MOUNT_ROOT" base linux linux-firmware networkmanager; genfstab -U "$ARCH_MOUNT_ROOT" >> "$ARCH_MOUNT_ROOT/etc/fstab"; arch-chroot "$ARCH_MOUNT_ROOT" systemctl enable NetworkManager; arch-chroot "$ARCH_MOUNT_ROOT" ln -sf /usr/share/zoneinfo/Europe/Zurich /etc/localtime; arch-chroot "$ARCH_MOUNT_ROOT" hwclock --systohc; arch-chroot "$ARCH_MOUNT_ROOT" sed -i "s/#$LOCALE_PATTERN/\1/" /etc/locale.gen; arch-chroot "$ARCH_MOUNT_ROOT" locale-gen; echo "LANG=$ARCH_LANG" | arch-chroot "$ARCH_MOUNT_ROOT" tee /etc/locale.conf > /dev/null; echo "KEYMAP=$ARCH_KEYMAP" | arch-chroot "$ARCH_MOUNT_ROOT" tee /etc/vconsole.conf > /dev/null; arch-chroot "$ARCH_MOUNT_ROOT" echo "$ARCH_HOSTNAME" > /etc/hostname; arch-chroot "$ARCH_MOUNT_ROOT" mkinitcpio -P; arch-chroot "$ARCH_MOUNT_ROOT" bash "$tempDir/../Software/GRUB/install.sh"; arch-chroot "$ARCH_MOUNT_ROOT" bash "$tempDir/../Software/sudo/install.sh"; arch-chroot "$ARCH_MOUNT_ROOT" bash "$tempDir/../Software/GNOME/install.sh"; arch-chroot localectl set-x11-keymap "$ARCH_X11_KEYMAP"; USER_NAME="${USER_NAME}" \ USER_DISPLAYNAME="${USER_DISPLAYNAME}" \ USER_GROUPS="${USER_GROUPS}" \ arch-chroot "$ARCH_MOUNT_ROOT" bash "$tempDir/user.sh"; arch-chroot "$ARCH_MOUNT_ROOT" rm -rf "$tempRoot"; popd > /dev/null;