Fair warning, I haven't looked hard at NixOS but what I have heard about it I really like. I'm wondering if it makes more sense to switch from my current package manager dnf to NixOS package manager. Or should I just go straight into NixOS. Trying package manager seems easier to me.
154 sats \ 1 reply \ @freetx 23 Feb
As a disclaimer: I think NixOS is cool. I'm happy it exist. I like reading about it, and I'm happy its users like it.
Why I don't use it: Its not because of its ideas, in fact I support mostly all of its ideas. However, I find that I can achieve more or less the same outcome using a more traditional distro (Fedora Silverblue) with a more generalized configuration management utility (Ansible).
By using Ansible, you don't get the same pure reproducible build that NixOS offers, but you get 99% of it. Ansible is idempotent, so much like Nix you are declaring the state you want your OS to be in (this package installed, this service enabled, this custom config edited, etc). In practice this yields an single file that you can reproduce your current OS from....its "self-documenting" like Nix in that regard.
The benefit is that Ansible knowledge scales. You can use it to manage any OS (including Windows), so its a more useful skill to gain.
Silverblue is based around rpm-ostree and the filesystem is atomic-based. The theory of operations is you should only install absolutely critical OS-level packages and everything else should be relegated to Flatpaks, Containers, and Toolboxes (Distroboxes).
Note on the last point. Toolboxes / Distroboxes (I prefer Distroboxes) are effectively like super-chroots / LXC's. But that they automagically integrate with your local environment. So I can have a Alma9, Debian 11, Ubuntu, and Fedora 35 "container environments" all running simultaneously - each hosting different apps or environments. All of these environments can access my local machine including Wayland, hardware, etc.
Finally, by running most traditional apps as Flatpaks, I get the security benefits of sandboxes plus the freedom upgrade to always latest version without the risk of incompatibilities at OS level
reply
Thank you for this detailed comment and explanation of Silverblue. You are right about Ansible. Giving me some good food for through. I think I need to try both operating systems. I know a bit of Ansible and it would be useful at work as we use it. I actually work at Red Hat lol.
reply
I'm no expert, but it wasn't too bad a transition to NixOS. Now I really like it. One negative I have heard for someone like me is that what I learn on NixOS is not transferrable to other Linux distros. It may not apply to you if you've got a lot of Linux experience under your belt.
reply
I'm not sure how true this idea that what you learn isn't transferrable to other distros. I've seen that you can use flakes on all sorts of distros. Home manager in particular I heard of being useful for multiple distros.
reply
You might be right. I'm probably not the right person to ask, because once I switched to linux I used Ubuntu for a month or two, then switched to NixOS. I have used it more than other distros. Also, I am by no means an advanced power user.
reply
Well if you learn through these Nix tutorials and documentation you sure will be an advanced power user lol.
reply
It's kind of fun. It's my retirement hobby.
reply
One thing I've learned about technology over the years. If you ask, there will always be telling you that you are doing it wrong. No matter what you do. The best way to learn is to dive in.
reply
"Programmers know the benefits of everything and the tradeoffs of nothing." ~ Rich Hickey
If you're looking to try out the Nix package manager, you can safely use it alongside your existing package manager, on mac, linux or windows, and slowly get used to it as needed. If you're looking to use NixOS as your OS, that's a big jump. One method I recommend to dip your toes is to run the OS in a VM. If you use a Mac, Mitchell Hashimoto published his setup and guide to do so (link) . There are a variety of Linux guides elsewhere to do this too. glhf :)
reply
Thanks. Sounds like solid advice.
reply
It's better to go all in if you are going to go. NixOS is weird.
reply
Here's the easy way: Read the NixOS thesis. If after reading it you're not compelled to use NixOS, then NixOS is not for you.
There's no denying that there's a steep learning curve to Nix and NixOS. But that doesn't matter if you've become convinced that what NixOS has to offer far outweights the effort you'll need to put into learning it.
BTW, the Nix package manager can't replace the native package manager (ex. dnf). You'll see what I mean after you read the document linked above.
reply
Thank you!
reply
Just switch to NixOS. Plenty of tutorials out there to help you get started.
reply
Nix is too damn hard!
reply
Nix is too damn different and the documentation is scattered about and there might not be a package for your favorite program yet, but once you get it, its actually easier than Ubuntu!
I definitely think we can get something like Synaptic (which is the apt GUI for Ubuntu) for nix created. Just gotta learn dev shells and things...my favorite GUI ruby gem glimmer isn't a nix package yet so I gotta figure all of that out lol.
reply
Exactly 😂
reply