Please have a look at my edits and disregard anything you don’t like… ( and will remain in place even if you revert completely, but this way it’s easier on the …)
One point is missing:
Grub-btrfs can not boot any read-only snapshot.
There is a trick:
You need to edit /etc/mkinitcpio.conf to add grub-btrfs-overlayfs in HOOK, then you create a new read-only snapshot including the ability grub-btrfs-overlayfs to boot it into RAM like the behavior of Live USB/CD. Then you restore a snapshot.
Because .snapshots is the directory, but not subvolume. Try to create a new subvolume @snapshots then edit /etc/fstab to mount it with .snapshots
What’s @Ugin? I tried googling but even on the wiki I couldn’t find anything about it.
Is the /home partition necessary? I come from Garuda and I didn’t have a /home partition. My / usage is kinda unpredictable, especially with docker/podman/distrobox. Speaking of:
Current Subvolumes on Garuda
sudo btrfs subvolume list /mnt
ID 256 gen 187528 top level 5 path @
ID 257 gen 187528 top level 5 path @home
ID 258 gen 186167 top level 5 path @root
ID 259 gen 175719 top level 5 path @srv
ID 260 gen 187502 top level 5 path @cache
ID 261 gen 187528 top level 5 path @log
ID 262 gen 186845 top level 5 path @tmp
ID 263 gen 186610 top level 256 path .snapshots
ID 396 gen 179152 top level 256 path var/lib/docker/btrfs/subvolumes/21b99aa1976242e860da5be90a706225222041dc9d28e9a4aa2961878fd157df
ID 397 gen 10614 top level 256 path var/lib/docker/btrfs/subvolumes/ba18748cababfedc54a6e5c49b6609a93279574caa467421b61871cab5d1c0a0-init
ID 398 gen 10614 top level 256 path var/lib/docker/btrfs/subvolumes/ba18748cababfedc54a6e5c49b6609a93279574caa467421b61871cab5d1c0a0
ID 1392 gen 184269 top level 263 path .snapshots/1122/snapshot
ID 1393 gen 184271 top level 263 path .snapshots/1123/snapshot
ID 1394 gen 184275 top level 263 path .snapshots/1124/snapshot
ID 1395 gen 184276 top level 263 path .snapshots/1125/snapshot
ID 1396 gen 184280 top level 263 path .snapshots/1126/snapshot
ID 1397 gen 184281 top level 263 path .snapshots/1127/snapshot
ID 1398 gen 184284 top level 263 path .snapshots/1128/snapshot
ID 1399 gen 184285 top level 263 path .snapshots/1129/snapshot
ID 1400 gen 184335 top level 263 path .snapshots/1130/snapshot
ID 1401 gen 184337 top level 263 path .snapshots/1131/snapshot
ID 1402 gen 186271 top level 263 path .snapshots/1132/snapshot
ID 1403 gen 186274 top level 263 path .snapshots/1133/snapshot
ID 1404 gen 186569 top level 263 path .snapshots/1134/snapshot
ID 1405 gen 186570 top level 263 path .snapshots/1135/snapshot
ID 1406 gen 186607 top level 263 path .snapshots/1136/snapshot
ID 1407 gen 186608 top level 263 path .snapshots/1137/snapshot
The suggested subvolumes is kinda different from what I saw on the Arch wiki and my own subvolumes. Plus, my Garuda one seems to account for docker as well?
Do I have to do all these at install? At which point is it alright to install? After the first partition and subvolume creation?
Is there a video or visual guide that does it that aren’t for manjaro-architect?
Sorry for the questions, but I am a total noob at btrfs. and not sure what a lot of it means because there’s a lot of jargon I’m still not familiar with (and probably won’t be until I’ve done the process because that’s how I learn best).