easy-arch is a bash script that boostraps Arch Linux and configures it:
- BTRFS bootable snapshots from GRUB
- LUKS2 encryption
- ZRAM as swap
- systemd-oomd
- Autodetect VMs and provide guest tools (if available)
- Download an Arch Linux ISO from here
- Flash the ISO onto an USB Flash Drive
- Boot the live environment
- Set the keyboard layout by using
loadkeys <kblayout>
- Connect to the internet
- Run either one of these (always check twice before piping internet downloaded scripts into bash):
Short version:
bash <(curl -sL bit.ly/easy-arch)
Long version:
bash <(curl -s https://raw.githubusercontent.com/classy-giraffe/easy-arch/main/easy-arch.sh)
The partitions layout is simple and it consists of only two partitions:
- A FAT32 partition (512MiB), mounted at
/boot/
as ESP. - A LUKS2 encrypted container, which takes the rest of the disk space, mounted at
/
as root.
Partition Number | Label | Size | Mountpoint | Filesystem |
---|---|---|---|---|
1 | ESP | 512 MiB | /boot/ | FAT32 |
2 | Cryptroot | Rest of the disk | / | BTRFS Encrypted (LUKS2) |
The BTRFS subvolumes layout follows the traditional and suggested layout used by Snapper, you can find it here.
Subvolume Number | Subvolume Name | Mountpoint |
---|---|---|
1 | @ | / |
2 | @home | /home |
3 | @root | /root |
4 | @srv | /srv |
5 | @snapshots | /.snapshots |
6 | @var_log | /var/log |
7 | @var_pkgs | /var/cache/pacman/pkg |