171
Why do you use the distro you use?
(lemmy.world)
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
NixOS. My primary reason for switching was wanting a single list of programs that I had installed. After using ubuntu for 5 years I just lost track of all the tools and versions of software that I had installed...and that didnt even count my laptop. Now all my machines have a single list of applications, and they are all in sync.
This is a big reason for me. Also because if anything breaks - even if my system becomes unbootable - I can select the previous generation from the boot menu, and everything is back to working.
It's very empowering, the combination of knowing that I won't irrevocably break things, and that I won't build up cruft from old packages and hand-edited config files. It's given me confidence to tinker more than I did in other distros.
What does that mean? Like there is one calendar app?
NixOS configuration is done entirely through code, so all of your packages are in a list (although that list can be spread across multiple files; it's a bit to explain)
I've found it can be easier to manage what you have installed, since you can just look at that list and go "oh, why do I still have xyz installed, idek what that does anymore"
I appreciate the way things are configured a lot, but I would not recommend it unless you really like coding and you have time to tinker. It's not too hard to get simple config setup, but I spiraled down a deep rabbit hole really quickly.
EDIT: If my comment for some reason persuaded you to use NixOS, I recommend you get a basic config setup before installing it. I'd also recommend you look at how annoying it can be to run dynamically-linked applications (i.e. you download a random executable off the Internet and try to run it, or you try to run something you downloaded with npm)
NixOS is a declarative distro. Meaning it you can declare pretty much every aspect of it from what software is installed to how the system is configured from a config file.
Using your calandar example, you can list Thunderbird (or whatever) as a package you want in the configuration and it will be installed. You can also use that same configuration on another machine and produce the same environment.
Relevant to the original point, since all your software is listed in a text file, you can easily see exactly what's installed.
Tinkering, really. I did a bunch of stuff with wine and virtualization and troubleshooted across versions. One time I manually updated the version of sqlite in python's std lib to be a newer version. I picked a non LTS kernel once. All these things compounded and bloated my system. And when I went to do clean up, I didnt have a record of exactly everything I installed, what I used and what I didnt. It was guesswork to clean up my disk or even remember the tools I used to get a project working.
This is solved with declarative configuration, which is the basis of NixOS. I believe VanillaOS 2 has something similar. Likewise, this is one the great benefits of docker, vagrant, ansible, etc.