this post was submitted on 03 Dec 2023
73 points (86.1% liked)
Linux
48012 readers
891 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
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
+1, since for me it's much easier to grok the language and the schema at a single glance.
Plus for those worrying about linux-libre kernel not having the right drivers for your hardware, non-guix has you covered and you can easily switch to linux-mainline. I'm really enjoying Guix a lot right now.
Its pretty easy to update the packages yourself, just bump the version and the hash, or if needed add some missing libraries.
Because the review process is slow, sometimes it's easier to just check the Guix Patches buglist for existing submitted patchfiles and then add them to your tree
I'm a bit surprised to see that you disagreed with the "NixOS is hard to configure" bit, but then also listed some of the reasons why it can be hard to configure as cons.
By "configure", they probably didn't mean just setting up say, user accounts, which is definitely easy to set up in Nix.
The problems start to arise when you want to use something that isn't in Nixpkgs, or even something that is out of date in Nixpkgs, or using a package from Nixpkgs that then has plugins but said plugin(s) that you want aren't in Nixpkgs.
From my experience with NixOS, I had two software packages break on me that are in Nixpkgs - one of them being critical for work, and I had no clue where to even begin trying to fix the Nixpkg derivation because of how disorganized Nix's docs can be.
Speaking of docs inconsistencies you still have the problem of most users saying you should go with Flakes these days, but it's still technically an experimental feature and so the docs still assume you're not using Flakes...
I was also working on a very simple Rust script, and couldn't get it to properly build due to some problem with the OpenSSL library that one of the dependent crates of my project used.
That was my experience with NixOS after a couple of months. The concept of Nix[OS] is fantastic, but it comes with a heavy cost depending on what you're wanting to do. The community is also great, but even I saw someone who heavily contributes to Nixpkgs mention that a big issue is only a handful of people know how Nixpkgs is properly organized, and that they run behind on PRs / code reviews of Nixpkgs because of it.
I'd still like to try NixOS on say, a server where I could expect it to work better because everything is declarative such as docker containers - but it's going to be a while before I try it on my PC again.
Nix would need some proper GUI for that. It's very "shove into cold water", which isn't exactly the best experience.