TLDR: All of my desktop/laptop computers should be able to run using boot drives <= 128Gb and I hope that never changes. I refuse to use any personal computer that requires more than 64Gb for its core functionality.

I sometimes hear people complain about 64-128Gb not being “enough” for their needs. This is especially true in the Apple and Windows ecosystems. Technically, Windows 11 recommends atleast 64Gb for installation and it is very likely that the next version of Windows will require 128Gb. 128Gb is where I draw the line for myself because we need to draw the line somewhere. At some point, we need to collectively punish poor and distasteful design decisions made by OS vendors and packagers.

My main workstation (my most powerful computer) boots from a 128Gb NVME SSD. My laptop boots from a 240Gb NVME SSD, however I am using less than 128Gb. Both of those machines run Fedora Workstation.

$ df -h /
Filesystem                        Size  Used Avail Use% Mounted on
/dev/mapper/luks-7rd21-moar-crap  237G   35G  198G  15%

I bought my laptop used because it was the first thin and light ThinkPad I had ever come across and it really enamoured me, so I bought it without really thinking about the storage. However the Samsung PM981a is not bad.

Unless you personally make your own operating system, you place a tremendous amount of trust in whomever creates and distributes your operating system. It is almost impossible to know beyond a shadow of a doubt that your OS doesn’t exfiltrate your family pictures to some remote server. This is especially true if you use macOS or Windows, but largely is also the case for linux distributions. This whole Windows Recall “feature” debacle is evidence of this. I claim that at most 0.0001% of computer users can truly understand what more than 128Gb of executables, logs, caches, etc. actually does. And that is seriously pushing it. We really should not tolerate bloated OS design. You deserve to use an operating system that is created with craftsmanship and taste.

I think that 128Gb is a lot of data, actually. People who need more than that should decide how much data of their is important and how much ephemeral disk space they actually need for the day-to-day functioning of their system. Some would say that those who play video games need more disk space. Horrible game design and lack of asset optimization aside, one can store games ephemerally/on a separate game drive because I, at the very least, am fairly comfortable with (re)downloading games from Steam if my second storage device dies. Therefore I never store games on my boot drive. If Steam removes that game in the future, I don’t really care because it is just a game and not really important in my life.

Ideally a boot drive should be large enough to store everything required for the normal quotidian usage of an OS. This includes:

  • Executables
  • Logs
  • Shared libraries
  • System and user configurations
  • Caches (though some of these can be selectively offloaded to secondary storage devices)
  • Home directories storing user-specific configurations for users who need them

128Gb is actually quite a lot for just those things. Note that users should not have much user-specific data stored on the boot drive.

You should always be able to boot from only the boot drive. The boot drive is the most likely to run into issues, for example, when upgrading the OS or being targeted by ransomware. Therefore ANY AND ALL IMPORTANT DATA (would you be sad if this data was lost?) SHOULD BE STORED SEPARATELY FROM THE BOOT DRIVE. For me, this means I have separate ZFS drives on my home server, while my workstation and phone mount certain personal data from my home server.

My workstation has a 128Gb boot drive and a 1Tb drive for games, build/compilation artifacts, and a development workspace (Git repositories that I am currently working on, per-project Python virtual environments, container images used by docker (compose) and podman, and per-project Rust/Cargo artifacts). If that drive dies, nothing important is lost and I only suffer the mild annoyance of needing to buy another 1Tb drive. If my computer succumbs to ransomware, nothing important will be lost, as even if my personal documents are encrypted, I can easily revert to a previous ZFS snapshot or even restore that ZFS dataset from a weekly backup.

But what about normal human beings?

Most people are not software engineers and cannot be bothered to care about minutia like filesystems and data separation. The following is my advice to people in my life who are not going to run their own home server and manage backups themselves.

Have a single directory/folder that will be backed up in your user/home directory (e.x. important/{Documents,Pictures,Videos} to simplify the operation of backing up everything you need. The rule for that important/ folder/directory is that a file should go in that folder if and only if it is important to me and I would be mad/sad about losing that information. I claim that the vast majority of people only require this directory/folder to be <5Gb and very few require 25Gb. Backing up 5-10Gb is much simpler than backing up 100Gb that an entire computer might use. DO NOT back up your entire user/home directory because there is almost certainly data that is not important to you.

If you are not going to be responsible for your own backups, then use DropBox, Microsoft OneDrive, or Apple iCloud backups for that one important/ directory/folder. I consider OneDrive, DropBox, and iCloud backups (though not snapshots) because one can recover accidentally deleted files for atleast 30 days after deletion. Of course, there are better backup solutions, but existing cloud services are much better backup solutions than those of most people – nothing.

I believe that no one needs to back up their entire computer. You should always be able to reinstall the operating system, and mount your second drive/SMB share/NFS share and be up and running within a couple of hours.

Media

The aspect of “normal” digital life that can easily blow past 128-256Gb is media – pictures, music, and videos. If “videos” means pirated movies and TV shows (arghhh), then you should probably consider a dedicated storage server regardless. But many people really like storing many pictures. A high-resolution photo might be 5-20Mb per image. Storing an average of 10 such images per day might add up to ~70Gb per year. I claim that for the vast majority of people, 64Gb is plenty for many family photos. But for family photos and home videos, I am a huge fan of a storage-oriented home server. But ICloud, DropBox, Google Drive/Photos, or OneDrive are also fine for this situation. Some people really like the idea of reminiscing over 10-year-old photos and that may well be worth $5/month of cloud storage. That is not strictly paying for storage – it is paying for administration and redundancy.

But what about privacy?

Self-reliance also rewards me with privacy insofar as I encrypt my offsite backups before uploading them to AWS S3 so that not even Amazon can read my data.

I don’t love the idea of recommending that my family and friends allow a faceless corporation to have complete control of their most intimate digital information, but for the overwhelming majority of people, the alternative to cloud storage/backups is not self-hosted backups; the alternative is no backups at all.

Privacy may be a worthwhile casualty in exchange for data integrity.

Any backup solution for the masses (and no, software engineers are not the ‘masses’) must be simple and automated for adoption. We very well might discover over time that any backup solution is that private, reliable, automated, and ‘simple’ requires an expert/sysadmin. I highly doubt most people will regularly test the process of recovering from their backups, for example.

Be Deliberate About Your Storage

  • If you want to store more than 100Gb of videos or pictures, you need to think about how that is backed up.
  • You should try to understand what every 32Gb increment of disk usage is actually doing and what value that provides to you.
  • Unless you are a professional video editor or regularly play video games, stick to one SSD in your computer or laptop. 240Gb is an excellent size for the vast majority of people; get a 500Gb SSD if you store lots of pictures. The vast majority of people do not need more than 250Gb and very few need 500Gb.
  • Declutter your computer one to four times per year. I do not mean “defragment.” Use programs like WinDirStat , dust , or WizTree (I have not used this, but I have heard good things about it) to understand what actually takes up space on your storage device (root) and your user/home directory.
  • Organize your files quarterly or yearly. Mixing your family photos with your tax documents complicates the process of auditing where your disk usage is going.
  • Estimate how much space each “important” chunk of data will require and understand the reasons for ever exceeding this. For example, very few people require storing more than 2-4Gb of important documents (taxes, contracts, rental agreements, bank statements, etc.) that are mainly Microsoft Word docuements and PDFs. If you set a limit of 2Gb require a good reason for one day bumping that quota to 8Gb, it is much easier to keep storage in check.