As the title implies, should I do it? I love Arch so far, and I can fix most issues that pop out. However, I sometimes wish to start fresh without too much hassle, but I get a feeling NixOS isn’t as mature as Arch.
Have any of you used both, and if so, what do you miss from Arch? What are you grateful for in NixOS?
I’ve never been able to daily drive Nix, or for that matter stand using it in a VM. I’ve always hated every aspect about it. I currently use Arch, but for stability reasons am switching back to (probably, might end up going for something debian based) Fedora on my desktop.
I switched to Nixos after reading a lot about it and eventually switched back to arch because I didn’t like how hacky everything felt. On the surface it seems really clean because of the central configuration file and the reproducible nature of the whole thing, but in the rare case something doesn’t go as planned, it’s hard to know how to do anything about it. Basically everything that would have been a configuration issue for you to fix, is now a bug. Also, I found no easy way to install software that isn’t in nixpkgs (which is rare, but happens).
You can always download appimages and run them or run unpatched binaries with steam-run. Worst case is packaging them yourself, but once you geht the hang of it, that also goes relatively fast.
I’ve never been able to daily drive Nix, or for that matter stand using it in a VM. I’ve always hated every aspect about it. I currently use Arch, but for stability reasons am switching back to (probably, might end up going for something debian based) Fedora on my desktop. The overall structure of Nix is just… It’s not meant for a normal person to daily drive, it’s designed for replicability. You don’t interact with it the way you would a normal OS.
That being said, a lot of people around me love Nix, and do daily drive it. I don’t know how they can stand it, but they do.
I’ve also been distro-hopping, but settled on NixOS. I find it very clean, you know exactly where your (system-level) configuration files are (…and could even manage user-level config files using home-manager). There is a stable branch, which is, well, stable. And even if it wasn’t, you can rollback the system at any point, which is trivial (just select a different generation during boot).
One of the biggest advantages for me is universal reproducible working environments. Using Nix+direnv, I can lock all tools (make, gcc, JupyterLab, Python, Julia) that I’m using in a project to specific versions (and upgrade/rollback). I can install programs/libraries in a
nix shell
and they will be removed on the next garbage collection. Upgrades are extremely safe: I once had a problem with RAM that corrupted a lot of my files during an upgrade. Nix can detect and repair this.Downside is that Nix doesn’t follow FHS, so some programs need a little help, for example by Nix’
steam-run
.Do you mind me asking what FHS means in this context?
FHS is the filesystem hierarchy standard than Linux and most Unix/Unix-like systems use. The Wikipedia entry has a good simple explanation. The full standard can be found here. NixOS does not use this standard, as it’s not compatible with many features Nix offers.
NixOS is as mature as arch, I’d say, but because of its nature it has issues here and there, but rarely so.
That said, the learning curve for nix/nixos is very very very steep, so good luck learning. It took me a while for me to use it nicely, and even then, I’m nothing more than a beginner. Even so, I’m quite comfortable and pretty much can’t use any other linux distro.
If nixos has been around this long how come it’s only now starting to pick up in popularity?
Documentation is crap, but has been getting much better recently. Companies are also starting to use NixOS in production and are making contributions. The low friction ARM development process becomes more relevant every day.
That explains it, documentation is ok but not nearly as good as arch’s, feels like it takes a lot of googling
You have to know exactly what to ask for, which is a big problem when you’re starting out
True but that applies to most tech and it’s a transferable skill
I don’t get why everyone says it’s so bad, you get a decent starter config and to install stuff you just add one line to it
Installed it bare metal on a Friday and was up and running by Monday
By no means a master of it but the config is pretty intuitive generally speaking
For many it’s a radical change in paradigm, and I assume many just want to understand it well
Fair enough to be honest when I jumped in I dual booted with windows so always had a safety net (also was experimenting on my laptop before moving to my PC)
I never went back to windows. I had my stuff in a separate partition so when I went back to Fedora or Arch, I had my stuff there
Tbh same, I only ever went back to windows when I absolutely needed something to work immediately for something work related (my manager does not have much patience for my antics with technology when it doesn’t go 100% smoothly)
My PC which is now purely for personal use I just completely wiped and replaced, didn’t even keep the old disk contents because it was full of years worth of windows usage detrius
hahahaha nice. I hope I don’t have to dual boot windows. My laptop is fast enough for VMs
As long as you’ve got patience and you’re not using it for work you should be fine
That’s true for the configuration.nix. I still cannot fully wrap my head around using Nix Flakes for managing my nixos configuration, home manager and overlaying or creating packages. My setup so far works, but I still don’t feel like I fully understand it.
That’s more or less the same boat I’m in tbh. I’m just starting to play around with using shells for development environments
If you make the switch you won’t be able to tell people you use Arch, so keep that in mind.
true, but you’ll be able to tell people you use nix
Nix is the new Arch