#!/bin/bash -e cd "$(dirname "$0")" . ./config NORMAL='\e[0m' BOLD='\e[1m' GREEN='\e[32m' PACMAN='pacman --needed -Syu' # System config cp -rf rootfs/ / ln -sf "/usr/share/zoneinfo/$tz" /etc/localtime hwclock --systohc timedatectl set-ntp true # TODO after system reboot? for l in "${locales[@]}"; do sed -i "/#\s*$l/s/^#\s*//" /etc/locale.gen done locale-gen echo "LANG=$lang.UTF-8" > /etc/locale.conf echo "$hostname" > /etc/hostname # Packages $PACMAN "${pkg[@]}" systemctl enable NetworkManager systemctl enable reflector.timer if [ -d /sys/module/battery/ ]; then $PACMAN "${laptop_pkg[@]}" systemctl enable tlp fi # Users echo "root:$root_passwd" | chpasswd useradd -mG wheel "$username" echo "$username:$user_passwd" | chpasswd sed -i '/^# %wheel\s\+ALL=(ALL:ALL)\s\+ALL/s/^#\s*//' /etc/sudoers # drivers if blkid | grep -q LUKS; then sed -i '/^HOOKS=(/s/filesystems/encrypt filesystems/' /etc/mkinitcpio.conf fi case "$(lscpu | grep Vendor)" in *AuthenticAMD*) $PACMAN amd-ucode ;; *GenuineIntel*) $PACMAN intel-ucode ;; esac ./gpu.sh # Bootloader sed -i '/GRUB_DISABLE_OS_PROBER=/s/.*/GRUB_DISABLE_OS_PROBER=true/' /etc/default/grub if [ -n "$grub_timeout" ]; then sed -i "/GRUB_TIMEOUT=/s/.*/GRUB_TIMEOUT=$grub_timeout/" /etc/default/grub fi grub-install --target=x86_64-efi --efi-directory="$esp" --bootloader-id=GRUB grub-mkconfig -o /boot/grub/grub.cfg echo -e "${BOLD}${GREEN}DONE. Ctrl+D, umount -R /mnt and reboot${NORMAL}"