Install Arch Linux and use the archrice configuration script to install programs and load configs.
-
Download Arch iso from https://archlinux.org/download/ .
-
Write Arch iso to usb drive:
dd if=<arch-iso> of=/dev/<usb-device> bs=4M status=progress conv=fdatasync
-
Reboot into Arch live usb.
-
Get name if network interface:
ip a
-
Connect to the internet:
iwctl station <network-interface> connect <SSID>
-
Get name of the disk to install Arch to:
lsblk
-
Partition the disk:
fdisk /dev/<disk-to-partition>
-
Partitions to create:
- /dev/1 - Boot partition, size: 500M
- /dev/2 - Swap partition, size: 8G
- /dev/3 - Home partiiton, size: rest of the drive
-
Create filesystems:
mkfs.ext4 -T small /dev/<disk-to-install>1
mkswap /dev/<disk-to-install>2
swapon /dev/<disk-to-install>2
mkfs.ext4 /dev/<disk-to-install>3
-
Mount filesystems:
mount /dev/<disk-to-install>3 /mnt
mkdir /mnt/boot
mount /dev/<disk-to-install>1 /mnt/boot
-
Install base system:
pacstrap -K /mnt base base-devel linux linux-firmware vim texinfo man-db man-pages
-
Generate fstab:
gensftab -U /mnt >> /mnt/etc/fstab
-
Chroot into the new environment:
arch-chroot /mnt
-
Set timezone:
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
hwclock --systohc
-
Set localization:
- Run
vim /etc/locale.gen
and uncomment locale: en_US.UTF-8 UTF-8 locale-gen
echo "LANG=en_US.UTF-8" | tee -a /etc/locale.conf
- Run
-
Set hostname:
echo "Arch" | tee -a /etc/hostname
-
Set root password:
passwd
-
Enable sudo for other users:
visudo
- Uncomment line:
# %wheel ALL=(ALL:ALL) ALL
-
Install and configure bootloader and network manager:
pacman -S grub networkmanager
grub-install --target=i386-pc /dev/<drive-to-install>
grub-mkconfig -o /boot/grub/grub.cfg
systemctl enable NetworkManager.service
-
Exit chrooted environment:
exit
-
Unmount partitions:
umount -R /mnt
-
Reboot:
reboot
-
Login to the new install and start wifi network:
nmcli device wifi connect <SSID> password <password>
-
Download configuration script:
curl -LJO https://raw.githubusercontent.com/KostasEreksonas/Archrice/main/archrice
-
Make the configuration script executable:
chmod +x archrice
-
Run the configuration script:
./archrice