I have about 3000+ packages installed in my system (nix-system) right now. As I search for neofetch on the internet, it seems people only have about <500 packages. Am I doing something wrong?
It depends if you’re using them all. Systems where I have lots of applications installed (especially graphical ones) will have lots of packages, my bare-minimum container hosts will have few. I think there’s also an element of selection bias here, because people posting screenshots of neofetch on their system are also likely to be people who intentionally run very minimal systems focussed on minimizing the number of packages so they can brag about it on the internet.
TL;DR - the right number of packages to have is as many as are required for your computer to do what you need it to do, and not too many more than that.
It also depends on the distro and how the packages are structured. I don’t know how Nix does it but Debian for example likes to split packages into the bare minimum installable, and you get development headers and debug symbols as separate packages. So every library can be 3 packages, whereas on Arch you usually get the whole library as a single package. So out of the box, Debian systems will have many more packages. Nix could be somewhat similar. On Debian, especially if you install Python/Ruby/NodeJS apps (or even all 3), it’ll also pull every single dependency as an extra package as well. Everything that’d be node_modules will pull a nodejs-xxx package. That’s hundreds of packages right there.
But also, some users seem to really like super slimmed down systems. If you install KDE or Gnome, or worse, KDE apps on Gnome or Gnome apps on KDE, you’ll end up with a lot of packages when compared to someone using i3/Sway and mostly terminal apps and a few lightweight GUI apps.
Then on Arch for example if you install
steam-native-runtime
, you get like a hundred extra packages to provide the whole Steam runtime environment as native packages.You’d have to compare package lists to see what differs. My Arch system has like 25GB worth of packages installed and it’s like eh whatever. I got like an entire Python/Ruby/NodeJS/Java/Android/C/C++/C#/Rust dev environment plus a bunch of Wine/Proton stuff and Steam and Lutris. So my system is “bloated” by every standard but I do have a lot of stuff handy. I can just open up an Android project from GitHub and compile it right away because I have all the devtools already. Could I slim it down? Yes. Do I feel like I need to? Nah, worst case it’s using a good chunk of disk space which is nothing given I have an NVMe, 2 SSDs and 2 HDDs. 25GB with 6TB of usable space is 🤷. This is my main workstation and entertainment station, I want those things handy whenever I need them.
My immediate thought when I saw somebody confused by how they got so many packages was “did they install node?”
Careful, too many packages on one drive becomes unstable, and may collapse into a singularly— technological, astrophysical, or worse, both!
Seriously, though, it’s fine. The trend these days is to isolate network services/apps, each in its own virtual server/container, for security reasons. If that service gets breached by hackers, or the configuration breaks, no other services are affected. A lot of installs, each with only the minimum packages for one service, is bound to bring down the average package count.
A user workstation is bound to have many more packages installed. Install what you need and prosper.
Neofetch gives me 175 (nix-system), 1437 (nix-user). Most of my stuff’s in home-manager
One. ;)
Oh you!
3000 is a rookie number. /s