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.

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…

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.

onlinepersona,

NixOS’s documentation is dog. It’s not absolute dog, but it’s dog. The learning curve is brutal.

But… the (mostly) declarative management is its strongest feature. It’s very solid and you can easily unfuck you system if you haven’t done stuff like mess with partitions or delete files manually.

If NixOS had better documentation and GUI to manage the system, it would be a no-brainer, but unfortunately, it is about 5-10 years away from that. The community is very top heavy, but it’s easy to just do your own stuff.

LeFantome,

If you already using EndeavourOS, you are already using Arch. So it is a very odd question. You could remove the maybe 12 EndeavourOS packages and comment out the EndeavourOS repositories if you want to go truly vanilla Arch. Out of the 80,000 packages Arch makes available to you, about two-dozen are EndeavourOS specific. Once installed, they are effectively the same OS.

So, you are just asking if it worth it for an Arch user to move to NixOS.

From what I can tell, the killer feature of NixOS is rolling out a config to multiple machines. Is that worth a switch to you?

The other big attraction of both Arch and Nix is the huge package library but if you do not use the AUR today, that does not matter to you either.

noli,

The killer feature is declarative system management. Reproducible systems is just one of the resulting properties. You want to just try out KDE for a week coming from gnome? Good luck getting rid of all the bloat when switching back on arch. You want to run a program once but not necessarily have it installed on your system? You can do that with nixos. You messed something up and your system now doesn’t boot? You can go back to a previous iteration with nixos, no need to find your liveUSB to start messing with chrooting and stuff. Ever find yourself asking where the configuration file for is so you can edit it? The answer is /etc/configuration.nix Ever had to merge older configs with newer ones because the software updated? (If no, you haven’t been using arch for long) why would you need to do that? You declaratively specified how you want your system to behave and nixos will figure out how to translate that to the new config.

And that’s just the “killer” features I use on a day to day basis

warmaster,

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.

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?

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.

Nickm8,

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

taanegl, (edited )

Let me put it like this: it’s about learning curve. Arch is relatively easy to begin with, but NixOS gets much easier the more nix you learn.

What do I mean about that? Imagine having to patch something, which can be the thing. On arch you’d have to replace a package, which could lead to issues and conflicts, whereas NixOS gives you the option to keep two or even more versions of the same library, because it does not rely on your traditional UNIX path.

But with this super power comes a catch. You have to learn a programming language and learn how the nix store operates, which is a pretty high learning curve. Also, NixOS suffers from a governance issue and going by the documentation is like shooting in the dark.

That being said, the best manual for NixOS is GitHub, searching for anything and filtering by the nix language. You’ll see a ton of varying systems, be they workstations or servers.

And no matter what all the warnings say, no, flakes aren’t EXPERIMENTAL or UNSTABLE, but rather CONTENTIOUS internally. Again: I love NixOS, but they gotta fix their governance issues.

hottari,

You can setup your Arch with grub menu btrfs snapshots just like NixOS for convenient rollbacks. NixOS has too steep a learning curve, coming from someone who recently tried it and ended up being somewhat disappointed by it. NixOS sounds good on paper but in reality it is a long way from a mature product for desktop or general use.

As you mentioned Arch has AUR which packages just about anything and everything you could ever want in the future. And the Arch Wiki will never be “not relevant” so long as you are using Linux anywhere, the Arch Wiki is a handy reference.

qaz,

NixOS sounds good on paper but in reality it is a long way from a mature product for desktop or general use.

It’s 20 years old already, will it ever be ready at this point?

deikoepfiges_dreirad,

I used to like the idea of nixos because it felt “tidy” to configure everything centrally. However that tidyness is achieved by adding an extra layer which just replicates the configuration options of every program. If there is a bug in that layer or something is just not implemented, either you have to learn the whole inernals of nixos and nixpkgs, for which there is no real documentation, or you have to resort to doing things imperatively again, which is hard because of the opacity of the generated system and also defeats the whole purpose. So basically, you are completely dependent on nixos developers for things you could have easily done yourself on arch.

flashgnash,

I have to disagree with this, with home-manager you can pretty much put just put your normal config files inside your NixOS config and map them into wherever they’re meant to go, except now they’re managed by nix

The built in config options are really nice but you don’t have to use them in the slightest as long as the package itsself is in nixpkgs

Presi300,
@Presi300@lemmy.world avatar

NixOS and nix in general is incredibly complicated imo and the documentation is… let’s just say sub par. I’d go with arch unless you really just wanna learn nix.

noli,

It’s incredibly complicated in the same way that ubuntu is incredibly complicated to a lifelong windows user.

It just requires a bit of a paradigm shift which includes a learning curve but IMO once you’re past that point it’s intuitive and even easier than other distros.

Presi300,
@Presi300@lemmy.world avatar

You cannot compare NixOS to ubuntu… even for as a new user to more adept user comparison, NixOS is really complicated. I’m not saying it’s bad, just that the documentation on how it works could be better. I’ve tried to use NixOS and nix itself multiple times and they were a nightmare to setup each time, especially NixOS (nix itself isn’t as complicated to me but it has some annoying things with proprietary software and not integrating with desktops at all without using hacky scripts).

noli,

Did you truly read what I said? The only logical way I can frame your comment is that you glanced at what I wrote down and started writing a reply.

To a regular average windows user, ubuntu is incredibly complicated. When you learm how it works and how you’re supposed to use it, it becomes incredibly easy. The “hard” part of ubuntu is the paradigm shift from windows to the linux ecosystem.

Similarly, to an average linux user nixos is “hard” because it does things completely differently from other linux distros. But once you’re used to it, it just makes sense and is easy.

So the comparison is average windows user -> ubuntu vs average linux user -> nixos. Not average user -> ubuntu vs average user -> nixos.

Finally: Nixos documentation is IMO 100x better than ubuntu documentation. Whenever I experience any issue with ubuntu it’s easier to just load up the arch wiki and hope it’s similar than it is to try and find anything specific for ubuntu that isn’t either 10 years out of date, a massive gaping security risk or just plain dumb. The nixos wiki may not be perfect but it has always been sufficient for my needs, and I have to run a decent amount of very niche pieces of software.

Unmapped, (edited )

The downside of NixOS is bad documentation. Which makes it take quite a while to get your config setup the way you want. Its so worth it though. I used arch for 5+ years and have been on NixOS for about 6 weeks now. I’m definitely never going back. My conifg is done, I barely have to change anything now. Its all saved in a git repo so I never have to make it again. I’ve already switched all of my machines over. And even a few of my friends. Which has been super easy to do cause I just give them my config then remove everything they don’t need. I’ve only been using it for a little while but it feels so reliable and Unbreakable even though I’m running unstable packages. Because if anything breaks you just go back to the last generation that worked. Which made me willing to just try anything when I was setting it up.

Also you could run Nix package manager on arch for this, but the nix package repo is amazing. It has everything i’ve needed or even thought about installing. And in my opinion its way better than using AUR packages. Most of the time you just DL them and don’t have to build them. Its just so much faster and more reliable then using Paru or Yay. Plus there is a NUR( nix user repo) but tbh I’ve never even looked at it.

The other con I know of is issues running binaries and app images. But there are was work arounds for them. I use a few app-images by just running ‘appimage-run <appimage filename>’. And so far its worked perfectly. As for a binaries you can use steam-run or I think using distrobox would work. But I haven’t had to do anything like that yet.

I found this YouTube channel quite useful when I was setting mine up. Vimjoyer

agressivelyPassive,

I found it fairly difficult to set up nixos on one of my machines, because it simply didn’t ship with a certain, relatively common kernel module/user space app. I also couldn’t find a usable workaround (only compiling my own kernel on every update, which is not exactly my kind of fun).

So, you might want to try that out first.

OmnipotentEntity,
@OmnipotentEntity@beehaw.org avatar

Out of curiosity, which one?

noli,

nixos.wiki/wiki/Linux_kernel

You can specify custom parts of the config that enables that module and/or extra module packages.

If you specify a custom part of the config then ye sure you’ll be compiling the kernel on each kernel update but you don’t need to manually configure it

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • uselessserver093
  • Food
  • [email protected]
  • aaaaaaacccccccce
  • test
  • CafeMeta
  • testmag
  • MUD
  • RhythmGameZone
  • RSS
  • dabs
  • oklahoma
  • Socialism
  • KbinCafe
  • TheResearchGuardian
  • SuperSentai
  • feritale
  • KamenRider
  • All magazines