I'm installing Ubuntu on hundreds of machines — all different hardware — and want to standardize things in an intelligent way.
The "remnants" left behind in the /home partition after a fresh install (when /home is a separate partition) , I don't like.
On the other hand, I want to be able to easily reinstall the Ubuntu OS and all apps 1-4 times every six months. That's 2-8 times per year!
It makes no sense to me to backup, and then restore, up to 500-600GB of user data EVERY TIME — not to mention that it's taking a huge risk of losing that data… each time.
Like you should be, I'm concerned about making my / partition ( which includes /home ) too small. I'm also concerned about making my swap partition too small (for example, in the case of a tower with 8GB or more of RAM, and I want it to be capable of using the Hibernate function).
That's why the "standard" configuration I am proposing is:
Three partitions on every machine:
50GB for /
( where the /home is in this partition too )
10GB for swap
All Remaining Space for /data
On a re-install, the / is formatted (including the /home) , but the /data is not touched.
This way, Ubuntu, Gnome, and all software, finds the / and /home in the same partition, and cleanly freshly installed — as any normal install would be.
Yet, the users data ( on /data which could be 600GB ) never needs moved because it is never touched.
Of course, I still advise users to backup their data before re-installing the OS, but at least they don't need to restore from backup. And even if they don't backup, their data shouldn't be touched anyway.
Giving the / partition 50GB should easily provide enough space for Ubuntu and all the dozens of apps I install ( grand totalling 9.4GB ), plus another 40.6GB which the user can use for any combination of: additional apps, possible virtual machines, temporary workspace, and/or temporary download space.