So, I decided to run fastfetch once again. You know, to confuse people with niri on Mint. Fastfetch is actually quite a good way to quickly display a bunch of information about the system. While doing so, I noticed that my current install takes around 260GB out of my 464GB SSD. This confused me, as I remember back when I switched to FreeBSD, my system only took 14GB, as can be seen in this b-log.
This raises two questions: Why and How?
So, how does one find out what's taking up their disk space? The method I chose is to start from system root, list sizes of all directories, and crawl through the bigger ones. One way to do this with the standard Linux utils is
$ du . -hd 1 | sort -h
If you are a fan of what I like to call "new-gen" utils, you will surely enjoy the dust command.
$ dust . -T=4 -d=1
So what did I learn? First of all, more than half of the disk is taken by '/timeshift/' Timeshift is Mint's backup tool, so it makes sense it would take about as much as the actual system. In the FreeBSD b-log, you can see that the maximum listed disk space is 290GB, instead of the 464GB I'm claiming to have here. My guess is that FreeBSD just dedicates half the disk to ZFS backup straight away.
I don't mind dedicating half my disk to backups, I enabled it myself after all, so let's move to the other dirs.
'/tmp/' does not take that much, but I would like to remind you that if like me, you don't reboot your machine, just suspend it until you need it again in a few hours (40 days uptime BTW), you should probably clean your '/tmp/'.
As expected '/usr/' takes about 25GB. What might not be so expected is that 14GB is taken by 'lib/' and 6GB by 'share/'. Well, 'share/' contains all the multimedia data, so that makes at least some sense I guess and shared libraries are used to reduce duplication, so you would probably want to export as much as you want to them. Still, I expected more to be statically linked.
'/var/' is about 9GB. Once again, there is 'cache/' directory, which could probably be cleaned up. Same goes for 'log/'. Majority is, however, taken by 'lib/flatpak/', specifically 'lib/flatpak/repo/objects/', which stores all the actual installed objects for deduplication reasons. I guess it makes sense that flatpak would take up a few gigs, so once again, I'll allow it.
Alright, now to the, a bit surprisingly, biggest non-timeshift directory, '/home/'; taking a whopping 67GB. 4.5GB of that is taken by homebrew. Once again, that makes sense and I don't have a problem with that. But what about the 62GB in my home dir?
12GB is taken by Steam. (Sometimes, I wonder whether I overdo the linking everything thing, but better link more than less...) I don't game much, and if I do, the game is way more likely to run in DOSBox than Wine. The only reason why I got steam was to play OG Oblivion, Which is the only Steam game installed on my machine. Steam still needs Proton tho, and it brings a lot of it's own libs and stuff. Oblivion itself takes only 5.5GB, mostly in multimedia files. This raises some philosophical questions about videogames and minimalism, but that's a topic for another day, so It can stay for now. (and I should play it again sometimes)
There are also other games on my system. One noteworthy is The Dark Mod, which besides being a great game, also takes 4.5GB, which makes Oblivion look kinda impressive actually. (Or I have no idea what I'm talking about; probably that) But yea, while I might not feel good about it, it can stay.
Ok, now the surprising one, '~/go/' takes 3GB? I guess Go libs take a lot of space. In general, language stuff tends to take some space. Well, could be worse.
Next directory to talk about is '.local/'. Outside of having SQL Developer in '~/.local/bin/' for school reasons, 619MB is taken by '~/.local/share/nvim/'. Most is taken half by mason.nvim by copilot.lua. Since it's just half a gig and I use both for development, they can stay, but I might investigate what exactly in copilot.lua takes so much space later.
Last, I would like to mention my 1GB 9front QEMU disk, which, once again, does raise some question about the whole disk usage thing, and to remind you to clean your '~/.config/', as it probably has configs for programs you no longer use.
After a bit of research (some sources provided bellow), it sees that the average disk size in the early 2000's was about say 25GB. This was enough for a perfectly usable Windows XP (Am I really going to link to Windows XP? I guess so, but I will need to rethink few things) setup, and XP was considered bloated by some at release.
Like, my '/usr/' takes more space than many Windows XP setups, which were considered perfectly reasonable at the time.
Many of the space is taken by useful features. System backup, multiple package managers for added flexibility... But then you ask yourself: do I need all the other stuff? But then again, when I count the big dirs I mentioned, they do not add up to even half of my home dir. The rest is somewhat spread over my home, and I don't even know how to be honest.
Maybe I should revive one old machine I have and try living in it for a while. Kind of like a prolonged OCC. Maybe over the summer break?