Well technically, if you're using BTRFS, you might want to check out subvolumes. Here's my subvolume setup:
- Subvolume 1, named
@
(root subvol) - Subvolume 2, named
@home
(/home subvol) - Subvolume 3, named
@srv
(/srv subvol) - Subvolume 4, named
@opt
(/opt subvol) - Subvolume 5, named
@swap
(which is - you guessed it - the swap subvol)
You then set up fstab to reflect each of the subvolumes, using the subvol=
option. Here's the kicker: they are all in one partition. Yes, even the swap. Though caveat, swap still has to be a swapfile, but in its own separate subvolume. Don't ask me why, it's just the way to do it.
The great thing about subvolumes is that it doesn't do any size provisioning, unless specified by the user. All subvolumes share the space available within the partition. This means you won't have to do any soul searching when setting up the partitions regarding use of space.
This also means that if I want to nuke and pave, I only need run a BTRFS command on my @
subvolume (which contains /usr
, /share
, /bin
), because it won't be touching the contents of @home
, @srv
, or @opt
. What's extra cool here is that I'll lose 0% FS metadata or permission setup, since you're technically just disassociating some blocks from a subvolume. You're not really "formatting"... which is neat as hell.
The only extra partitions I have is the EFI partition and an EXT4 partition for the /boot
folder since I use LUKS2.