mirror of
https://github.com/classy-giraffe/easy-arch.git
synced 2025-11-17 11:30:55 +00:00
easy arch mirror
arch-linuxarchlinuxarchlinux-installerbtrfsbtrfs-layoutcollaborategithubgithub-pagesgitkrakenlinuxluks-encryptionmicrosoftvisualstudioscriptsnapshotsstudent-vscode
| .github | ||
| _config.yml | ||
| CODE_OF_CONDUCT.md | ||
| easy-arch.sh | ||
| LICENSE | ||
| README.md | ||
Introduction
easy-arch is a bash script made in order to boostrap a basic but modern Arch Linux environment, with a few cherry-picked features:
- BTRFS bootable snapshots from GRUB
- LUKS2 encryption
- ZRAM as swap
- systemd-oomd
- Autodetect VMs and provide guest tools (if available)
How does it work?
- 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 this
bash <(curl -sL bit.ly/easy-arch)
Partitions layout
| Partition Number | Label | Size | Mountpoint | Filesystem |
|---|---|---|---|---|
| 1 | ESP | 512 MiB | /boot/ | FAT32 |
| 2 | Cryptroot | Rest of the disk | / | BTRFS Encrypted (LUKS2) |
The partitions layout is simple and it's inspired by this section of the Arch Linux Wiki. As you can see there're only two partitions:
- A FAT32, 512MiB sized, mounted at
/boot/for the ESP. - A LUKS2 encrypted container, which takes the rest of the disk space, mounted at
/for the rootfs.
BTRFS subvolumes layout
| Subvolume Number | Subvolume Name | Mountpoint |
|---|---|---|
| 1 | @ | / |
| 2 | @home | /home |
| 3 | @snapshots | /.snapshots |
| 4 | @var_log | /var/log |
| 5 | @var_pkgs | /var/cache/pacman/pkg |
The BTRFS subvolumes layout follows the traditional and suggested layout used by Snapper, you can find it here. Here's a brief explanation of the BTRFS layout I chose:
@mounted at/.@homemounted at/home.@snapshotsmounted at/.snapshots.@var_logmounted at/var/log.@var_pkgsmounted at/var/cache/pacman/pkg.