Calamares Request - Separate Home Directory

After reading some of the documentation, I’m pretty sure it’s possible to do.

But would it be possible to add for the automatic partitioning modes to add, set up a separate home directory?

Reason being if somebody does end up horribly destroying their installation and they can’t get it back easily with snapshots or chrooting. Or if they want to install a different version of Garuda Linux having it where you can just put the home in place would be quite nice.

I know this can easily be done with manual partitioning but I do know people that get systems that don’t boot just because they’re not super technical.

But yes, just a suggestion for next year‘s ISO.

I would be willing to test as well if needed.

Personally, I think it’s a terrible idea to have a separate home partition.

I always keep the home directory on the root partition, which is on the fastest drive in the system. I don’t keep my personal files there, stuff like documents, music, videos, images, downloads, etc. I keep those files on another drive, but I make hard symbolic links to the home directory. So /home/username/ is on the root partition, but /home/username/Documents is not a real directory but a symbolic link to a directory at some mountpoint somewhere (e.g. /storage/disc1/Documents/).

In my experience, this is much a better, and much more flexible setup than a separate home partition. I can have, for example, Videos and Downloads (which are huge directories) on one drive, and Documents on another. Stuff like .cache and .config, where fast access is important, can remain on the fast SSD on the root partition. Typically, I don’t want to keep those if it comes to reinstalling the OS (which I only do with major hardware changes).

Also, I don’t partition the drives. Apart from the EFI partition, my setup is always one partition per physical drive. This is very flexible, as repartitioning the drives on a working system can cause headache.

2 Likes

I mean all my drives are all gen 4 or gen 5 depending on the system. So speed is not a concern. My large files are sent to the sever as well. For me at least since I image my drives as backups and use them on more then one system hard linking isn’t a viable option in terms of time spent.

I also like them separate in terms of drive failure. I only have to reload the drive that fails. I do all the computer maint for both my inner and outer family so I use a solution that works for me as they sometimes like to distro hop once they get more knowledgeable.

But we all have different use cases and skill levels that’s why I asked for it as a “option” and not something that’s mandatory. We also all have different hardware, like I have several systems and change out hardware on some every few months, and some people only have one system and keep it going for a long time.

*I’m also not a laptop user. Well all my laptops are macs so that’s a whole other can of worms.

1 Like

Calamares already supports this. You can specify custom mount points in the manual partitioning setup. For any mount point, you can specify whether the disk should be formatted or not so it is pretty easy to keep your data intact.

In Garuda Linux, @home is also a separate subvolume by default. You can already do another installation and leave the existing subvolumes intact, no separate partitions or disks needed. See this topic, for example:

In my opinion a separate home subvolume is way better than a separate partition; I think we should leave the default behavior of the installer how it is.

5 Likes

Symbolic links, all the way.

4 Likes

I do exactly the same ^^^

There is one added benefit of this setup IMO. It is a far more efficient usage of space if you use smaller faster SSD drives for your boot/OS drive.

With separate root and home partitions you must guesstimate how much space you will need for each partition at installation time. If your guess ends up incorrect, then you will end up having to resize your partitions to give more space to one or the other.

I don’t like having to resize my OS partition, as that always carries some degree of risk. Using a pooled single BTRFS partition is a far more efficient use of space and greatly reduces the chance that you will need to resize either your home or boot partitions in the future.

Symlinks for the win!!!

1 Like

I do understand where you guys are all coming from. But at least for my use case it’s just not useful it adds extra time spent which is what I would try to avoid.

At the very least it implies the user will always use btrfs. Will always use the same distribution. Will never have drive failure. Etc.

And if you’re like me and you like to play with new technologies, those are all things you do and have issues with.

The problem with making it a subsystem is, I cannot back up a system like that and re-image it in such a way that it makes any sense. I can restore data the old-fashioned way with some weird BackUp program, but that takes ages. Basically, I can’t re-image a sub volume and have it work on a completely different installation using a different file format.

The only reason I said all of this is because I did this on opensuse several years ago and I’m still using the same home partition on that machine and it’s now a void machine with much newer hardware. Soon to be cachy cosmic.

My other system is Garuda through and through. And yeah, I set it up manually, but having the option for newer users that are in the learning and in the experimenting phase would allow easier transitions, especially once you get your home directory started you just don’t wanna restart.

One thing I think was lost in this entire topic is I never asked for it to be like some overarching change just for the button that the user can press if they so choose.

Because the way I separate my drive is I use two different SSD‘s not a single one. Because just adding it as a separate partition is asking for trouble. Also would give each drive full space because it’s just less hassle.

But I think it’s safe to close this one unless somebody has some closing remarks.

1 Like

I think you mean subvolume. You can use btrfs send | btrfs receive for this. Making sure you're not a bot! It is easy to use and faster than rsync.

To copy a subvolume to a different filesystem you can just use rsync.

It already is supported by the Calamares installer. There is no change to make. You can set up a separate home partition in the manual partitioning menu. You do it right in the GUI, there are no secret commands to learn or anything.

In this case you should just set up symlinks to the data from the home directory the installer sets up by default, as some other folks have mentioned. This solution is also very easy, and satisfies the stipulations you have laid out: it’s portable, it can be any filesystem, it is not bound to any one OS or installation, etc. Plus, it has numerous advantages over a separate home partition. For example:

This kind of setup is way easier to bring from one installation to another. You can even have a multiboot setup where each installation shares this resource (so your documents and stuff are there no matter which OS you boot). If you have the whole home directory partitioned off, this is less likely to work because you cannot isolate conflicting cache and config files.

Having a separate home partition is the least good option for the use case you are describing. I don’t think we should make it a more accessible configuration choice, because in my opinion we should not be encouraging people to set up their systems this way.

5 Likes

Again this is assuming the user is going to move to another btrfs system. If they are yes this can work. If they are not. then it cant.

The issue with this is it is ages slower and I mean 7 -10 + hours slower then just using a image of the drive an reloading it when or if it fails.

As I was saying this Is more about having the option there when you pick lets say “install along side” or “erase an install.” Manual is fine if you know what your doing, like everyone that has commented here does. But there are people with different levels of skill. Is what I’m getting at.

An I was never trying to encourage users to do it. only the option for those that want it. it never had to be flashy or in your face like suses does it.

For the recorded, the system would be set up like so. 1 2Tb NVME drive for root 1 4-8TB NVME drive for home. 1 4-8TB SSD to backup home. 1 16-22TB platter hd used to image the root and home. One external dive if needed to back up the backup. Yes you would sim link to that home an it allows you to change de or distros or what ever the user wants. But the home is one image an hopefully in terms of time the ssd is the one that is used to restore the image. Cause rsync can’t handle tiny files in any normal time frame. Though this is more of a advance way of doing it. Having the 2 nvmes an 1 big hdd is all you need and its just a time saver.
An yes you would link that root to your home. As you said, it’s just on a different drive. Not the same one as root.

But as I said it’s bet to close since this is not going anywhere. Since it was more of a suggestion at this point then a request.
You’re all vary smart we just have different views based I think on different experiences. An that’s a good thing.