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
edited some functions related to user input so that their formatting/installing won't take place until after questions are over to prevent having to wait in between questions. also moved the order of the microcode virt check functions run to prevent installing stuff before questions are over, and some other funcs to just be more convenient (keyboard layout is now selected first incase the user isn't using US qwerty) and now there are options to search for locales and keymaps before making a selection. |
||
|---|---|---|
| .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 | @root | /root |
| 4 | @srv | /srv |
| 5 | @snapshots | /.snapshots |
| 6 | @var_log | /var/log |
| 7 | @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@rootmounted at/root@srvmounted at/srv@snapshotsmounted at/.snapshots@var_logmounted at/var/log@var_pkgsmounted at/var/cache/pacman/pkg