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
When setting a password for username there is an attempt to modify /mnt/etc/sudoers.d/wheel on line 437, but it fails because /mnt/etc/sudoers.d does not exist yet. sudo package needs to be installed to resolve this. |
||
|---|---|---|
| .github | ||
| _config.yml | ||
| CODE_OF_CONDUCT.md | ||
| easy-arch.sh | ||
| LICENSE | ||
| README.md | ||
Introduction
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)
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 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)
Partitions layout
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) |
BTRFS subvolumes layout
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 |