this post was submitted on 17 Apr 2025
162 points (95.5% liked)

Linux

53368 readers
948 users here now

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.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Title is quite self-explanatory, reason I wonder is because every now and then I think to myself "maybe distro X is good, maybe I should try it at some point", but then I think a bit more and realise it kind of doesn't make a difference - the only thing I feel kinda matters is rolling vs non-rolling release patterns.

My guiding principles when choosing distro are that I run arch on my desktop because it's what I'm used to (and AUR is nice to have), and Debian on servers because some people said it's good and I the non-rolling release gives me peace of mind that I don't have to update very often. But I could switch both of these out and I really don't think it would make a difference at all.

you are viewing a single comment's thread
view the rest of the comments
[–] rutrum@programming.dev 22 points 4 days ago (2 children)

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.

[–] hallettj@leminal.space 10 points 3 days ago

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.

[–] ocean@lemmy.selfhostcat.com 3 points 4 days ago (3 children)

What does that mean? Like there is one calendar app?

[–] SqueakyBeaver@lemmy.blahaj.zone 11 points 4 days ago* (last edited 4 days ago) (1 children)

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)

[–] N0x0n@lemmy.ml 2 points 3 days ago (2 children)

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"

While it sounds sexy and attractive... Not sure the amount of time needed to configure your NixOS is worthwhile. (Except if you have time to spare and want that learning experience !)

Just put everyhting In your personal notes and you have a similar "feature"?

[–] L_Acacia@lemmy.ml 1 points 4 hours ago

The configuration of nix is not the time consuming part, most of the time it's faster than other distro if you are a developer. The time consuming part is having an issue with a niche package, the only doc you have is the code and random github issue from 3 years ago that don't mirror your config, and the nix evaluation doesn't tell you which part of the config is the problem.

[–] apt_install_coffee@lemmy.ml 4 points 3 days ago* (last edited 3 days ago) (2 children)

Perhaps, but when I accidentally nuked my system by dd'ing to one of the hard drives, being able to install the exact same system back onto it by pointing the installer to my git repository was an excellent experience.

[–] Ging@lemmy.dbzer0.com 1 points 22 hours ago (1 children)

Is the restoration method mentioned here really only achievable via nixos? How can you be so confident that you are truly reobtaining an "exact same system"?

Nixos consistently intrigues me because of what it seems to be accomplishing but I can never dive in because there seems to also be many warnings about the investment required and the potential for other more complicated and really nuanced drawbacks to arise.

Give it to me straight--is it offering a new approach of stability with the emphasis on reproducibility? If I'm a gentoo enjoyer hardset in my ways, what could I stand to gain in the nixos/guix realm?

[–] apt_install_coffee@lemmy.ml 1 points 1 hour ago* (last edited 1 hour ago)

Your personal files e.g. ~/Documents are not recreated, you'll still need backups of those.

caveats are you've got to use:

  • home-manager to generate your dotfiles.
  • something akin to sops to generate and securely store your private keys and secrets.

But all this can be written in the one flake, so yes nixos-install --flake <GIT URL>#<HOSTNAME> Is sufficient for me to rebuild my desktop, laptop or server from the same repository.

I've never used Gentoo, and I'm sure there are other methods of achieving the same level of reproducibility but I don't know what they are.

Nixos can be as modifiable as Gentoo with the caveat being it's a massive pain in the ass to do some things. I have a flake for making aarch64-musl systems which has been an endeavour, and... It works? I have a running system that works on 2 different SoCs. I do have to compile everything quite often though.

There are efforts to recreate Nixos without systemd, but that's a huge effort; because it's very "infrastructure as code", you have to change a lot of code where editing a build script would've sufficed on arch/Gentoo.

As for nix vs guix, guix was described to me as "if you only ever want to write in scheme", whereas nix feels much more like a means to an end with practical compromises spattered throughout.

[–] N0x0n@lemmy.ml 1 points 3 days ago

Yeah can't argue against that, never tried NixOS !

[–] rutrum@programming.dev 4 points 3 days ago

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.

[–] JovialSodium@lemmy.sdf.org 5 points 4 days ago* (last edited 3 days ago)

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.