Arch or NixOS?

I’ve been here a week ago already asking if Arch would be fine for a laptop used for university, as stability is a notable factor in that and I’m already using EndeavourOS at home, but now I’m curious about something else too - what about Arch vs NixOS?

I heard that NixOS is pretty solid, as due to the one file for your entire system format you can both copy and restore your system easily whenever, apart from your normal files and application configurations of course.

Are there any major downsides to NixOS compared to Arch apart from the Arch Wiki being a bit less relevant? I’d also lose access to the AUR, but admittedly I don’t think I’ve ever actually needed it for anything, it’s just nice to have. Also, since NixOS has both rolling release and static release and you can mix and match if you wanna get packages from unstable or not, I’m not losing Arch’s bleeding edge, which is nice.

Guenther_Amanita, (edited )

Neither of both.

Both are more on the tinkerer-side, and for university you need something reliable and easy to use in my eyes.

And that might be Fedora Silverblue/ Atomic (or universal-blue.org to be more precise for QOL-tweaks).
It is definitely more simple, stable (release cycle) and also more reliable, since there’s only one base (Fedora packages + your DE), and therefore less configuration variability.

I’d also lose access to the AUR

No, you wouldn’t. Neither on Nix, nor on Fedora Atomic. Especially on Silverblue you layer and containerise a lot, and you can always use the pre-installed and self updating Distrobox to install Arch and use the AUR. That’s also what I do, and it works fine, even though I almost never feel the urge to use it.

lily33,

Actually, both Arch and NixOS are pretty reliable, and won’t just break out of nowhere, leaving your computer unusable.

hglman,

Sure, but when you need to add something new, it will be a lot of effort.

kpw,

I honestly don't know what you mean by that. I use Arch btw.

sickday,
@sickday@kbin.social avatar

It would be the exact same amount of effort you'd use to get new software on other distros. Both Arch and NixOS have very straightforward methods of installing new software that aren't any more difficult than doing so on Debian or some other distro. Both Arch and NixOS support independent package managers like flatpak and snap + they support Appimages.

I'd also add that OP doesn't even need to use NixOS to use nix packages, whereas Arch or Debian would require systems based on those distros. So if anything NixOS tries to make it very easy to add and configure software. Where does all the effort come in?

Guenther_Amanita,

Yeah, of course. You’re right.

Nix is kind-of-immutable, and you can always roll back to your old build if necessary.

But Arch on the other hand is notorious to “just break” if you don’t exactly know what you’re doing. Of course it will work perfectly reliable (apart from the few paper cuts you get when using bleeding edge stuff) if you are experienced, and optimally, if you set it up with BTRFS and Snapper/ Timeshift.

But honestly, unpopular opinion, I absolutely see no reason to use Arch today. The only exception is the DIY-aspect, which I totally understand and respect. But, for every other use case, there are better options out there, may it be Tumbleweed or Nix for a rolling release, Arch in Distrobox on Silverblue, whatever. It sounds like way too much effort for what I would get. But each to their own.

penquin,

It’s kinda sad that Arch has this “unstable” reputation, while it is very solid distro. I’ve been running it on my laptop for a long time and I honestly don’t even remember the last time it broke. Thing literally just works.

dino,

You didn’t mention a single argument for why you would need a reproducible system. It sounds more like the buzz around immutable systems makes you think you are losing out on something, which is not the truth.

actual_patience,

I think you are understating the value of the Arch Wiki and AUR.

I am also a university student. I was required by one of my courses to program an Arduino using ArduinoIDE. My program, however, was not detecting my Arduino. By simply scrolling the Arch wiki, I found the issue, downloaded the fix via AUR and was able to get it working hassle-free. An equivalent of this process does not exist on NixOS.

I do not know what programs your uni requires, but if you do plan on using them on Linux, Debian or Arch, or their many derivatives should be the go-to simply for documentation and quick-fixes alone.

Nibodhika,

First of all: Do you need reproductibility? I.e. having the exact same system on multiple machines? If not NixOS might be a lot more complex than what you need.

Secondly: Instability does not mean what you think it means. People read instability and think the system will break, when instability actually means your system will be updated. In the context of a server, an update can be destructive, for day-to-day users it’s very rarely so.

Finally: why Arch or Nix, why not Ubuntu, Mint, Pop or any of the other dozens of distros that are usually recommended for new users?

Nickm8,

Have you considered staying with EndeavourOS, and using Btrfs with Timeshift?

utopiah, (edited )

Going to sound like a boring pleb but… if your OS takes less than 1h to install and setup (which is my experience with Debian/Ubuntu on a SSD with a fiber connection, or even on a RPi with a modern microSD on an ADSL connection over WiFi) then it doesn’t matter much what you use. You grab a mug of coffee, click here or there from time to time and if your /home partition is saved you are good to go faster than most people even respond to an email.

utopiah,

I should add if you want to tinker “shallowly” containers are amazing. If you need to tinker deep, using a VM proper or even another physical machine (with a KVM or another keyboard and monitor) while your main machine remains untouched, it should NOT affect your uptime.

Trainguyrom,

I think the funniest part of this is I was recently preparing some laptops for work with Windows 10 and it literally took 6 hours thanks to slow updates, one laptop corrupting the keyboard and touchpad driver so completely it required a full reinstall (on a fresh install mind you) and other impressively terrible snags. Granted it would’ve been more like 1-2 hours if I started with an install image that wasn’t about 2 years old, but it was still impressive how much of a time sink it was

Drito, (edited )

I encountered limitations on NixOS, as instance Ly display manager, or using an app compiled by myself. Maybe there are solution but it is not always simple. Archlinux is way more flexible. Updates can theorically breaks the system , but since one year I never broke Arch despite updates on 200+ packages.

Notice I favors minimalist graphic environments (WM that don’t need updates ) and minimalists apps as much as possible, such as MPV and nsxiv. I don’t fear of some keyboard shortcuts. This philosophy probably helps Arch updates. Sometimes I had problem on apps (Inkscape and Dolphin-emu), I use appimages for them. Nothing is perfect, but Arch put lighter roadblocks than NixOS.

Astaroth, (edited )

Disclaimer: I only tried NixOS for less than a month when I was a complete Linux noob, I have since then been daily driving Arch Linux for about 2 years now.


For me, at least on the surface level, NixOS just felt like Arch Linux, with more similarities than differences.

What was nice about NixOS was the single config file for everything, although iirc I had to reboot every time for it to be applied while with Arch you can just install something and run it immediately.

Edit: I either remembered it wrong or I was doing it wrong because you don’t have to reboot the whole system according to the reply from hallettj.

What I didn’t like however was all the packages that got installed (through the list in the config file) had really strange directories which I couldn’t find easily.

like on Arch the packages and the executables are basically all at /usr/lib/ and /usr/bin/ and iirc it was pretty much the same on NixOS, except on Arch I’ll have usr/lib/firefox but on nix it would be usr/lib/u123uadqasd782341kasjhiu3sh932s9sdasdsapzxcqw-firefox

Another thing is that it works great for everything you install through the Nix config file, but it’s not necessarily going to clean up any files created by programs that got installed through it when you remove the packages from the config file.

Like say you have installed steam and then you install some game through steam, well that game wasn’t added through the config file so there’s no guarantee that if you decide to remove steam that you will also remove whatever the programs steam installed or if they created some new files somewhere.

Of course the same thing already happens on other OSes as well, so you could say that it’s an upside that Nix is better at cleaning up after itself whenever you remove something, but also because it’s supposed to all be controlled through a single config it just feels that much worse when you have to hunt down some file somewhere.


Again these are mostly my anecdotes from 2 years ago when I was a complete noob. Maybe I wouldn’t have any issues if I tried it today. And chances are I was just trying to do something you shouldn’t even be doing.

Plus at the start I used KDE Plasma 5 on Nix and Arch, maybe it will go better if I use i3wm on NixOS like I’ve been doing for a year and half or so on Arch now.

At least I’m pretty sure that having daily driven Arch for 2 years now I would have much better chances with NixOS now than when I tried it with 0 experience on Linux.

So since you’ve already got the experience from using EndeavorOS you might not have any big problems using NixOS, or at least learn how it works pretty fast.

hallettj, (edited )
@hallettj@beehaw.org avatar

I want to make a small correction - this is not true:

iirc I had to reboot every time for it to be applied while with Arch you can just install something and run it immediately.

nixos-rebuild behaves like most package managers: it makes new packages available immediately, and restarts relevant systemd services. Like other distros you have to reboot to run a new kernel.

And cleaning up Steam games is as issue with most distros too. But I kinda see your point.

Btw Nix (both NixOS and the Nix package manager running in other distros) has this feature where you can run packages without “installing” them if you just want to run them once:


<span style="color:#323232;">$ nix shell nixpkgs#package-name
</span>

That puts you in a shell with one or more packages temporarily installed. The packages are downloaded to /nix/store/ as usual, but will get garbage-collected sometime after you close the shell.

Astaroth,

Thank you for the correction. It was 2 years ago + I was really inexperienced so I could be misremembering things and/or just have been doing things incorrectly

unionagainstdhmo,
@unionagainstdhmo@aussie.zone avatar

Depends on what you’re doing at University. I was using Arch but an update caused CUDA to stop working so I couldn’t work on an assignment. Why did it stop working? They updated CUDA to 12.3 days before updating the NVIDIA driver to a version which supported CUDA. The maintainers are mostly negligent and the community is rather toxic so I’d avoid Arch for that kind of thing. NixOS looks interesting and has lots of benefits however, for a dedicated University computer I would recommend using the most boring Linux distro available like Fedora or Ubuntu.

furycd001,
@furycd001@lemmy.ml avatar

All Linux distros can be unstable & really it all comes down to how you use your system…

warmaster, (edited )

Arch based distros are easy AF. I’ve been on Linux for 2 years, I’ve tried 10+ distros, and Arch has been the easiest for me, and stable as it gets, while allowing me to get the latest drivers needed for gaming.

I’ve been using Crystal Linux, but got tired of it’s CLI only package helper, and since then I’ve moved to Manjaro KDE.

Whatever you chose, make sure you get automatic BTRFS snapshots, so you can roll back at boot whenever you wreck it.

I’ve read here on Lemmy that NixOS is a great concept but the execution leaves a lot to be desired, stating that it’s overly complicated and documentation is lacking.

If you only care about stability then you should go with Debian. If instead you want something that limits you so that you can’t easily wreck it, you could use an immutable distro like Vanilla OS, Fedora Silverblue, BlendOS or Ubuntu Core Desktop.

markstos,

I recommend first trying the Nix package manager on Arch to see how you like it. You can use it to install some things in your home directory without interfering with the Arch package manager.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • linux@lemmy.ml
  • localhost
  • All magazines
  • Loading…
    Loading the web debug toolbar…
    Attempt #