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.

  • ani@endlesstalk.org
    link
    fedilink
    arrow-up
    25
    arrow-down
    4
    ·
    edit-2
    11 months ago

    I’d recommended Arch because with NixOS you end up having to tinker too much. Besides, if you need to use Linux for development purposes, Arch follows the usual Linux/Unix conventions, while with NixOS you would end up tinkering…And you can always use the Nix app from Arch.

    Just use Arch with Gnome or KDE, that will save you a ton of time.

    • CatLikeLemming@lemmy.blahaj.zoneOP
      link
      fedilink
      English
      arrow-up
      7
      arrow-down
      1
      ·
      11 months ago

      Huh, I never expected anyone to recommend Arch to me because you have to tinker too much with an alternative distro. I thought simplicity was the reason why people liked NixOS, no?

      • Deckweiss@lemmy.world
        link
        fedilink
        arrow-up
        12
        arrow-down
        1
        ·
        edit-2
        11 months ago

        I have set up my archlinux os in a weekend with btrfs snapshots and everything I need. About once a quarter I tinker with it for 30 minutes to either fix a broken update or do some custom solutions to minute problems. It has been running like this for 5years. And snapshots allow me to rollback any fuckups in 1 minute.

        I tried to setup nixos twice, because I love the concept. Both times I tinkered with it for 1 to 2 weeks, had to take paid leave. At the end, some stuff still didn’t work as I wanted it to. Any customization that is not already natively implemented in nix is a huge pain in the ass to add. Things that would be a 5min config edit on arch took hours on nix to make them rEpRoDuCaBLe. I have experienced no additional benefit over btrfs snapshots.

        Tldr: If I could pay somebody 100$ to set up nixos just the way I want it, I’d use it. But since I have to do it in my own free time, I won’t.

      • ani@endlesstalk.org
        link
        fedilink
        arrow-up
        9
        arrow-down
        1
        ·
        11 months ago

        Comparatively, NixOS is complex, while Arch is simple. NixOS diverges very much from traditional Linux distributions, beginning with using a diferent filesystem hierarchy, which breaks a ton of apps, requiring workarounds like patches, simulating a standard filesystem… In the long run, you will have to deal with many NixOS-specific issues.

        Because you’re going to Uni, it’s better to focus on having a mostly just works distro with updated repository, and that’s Arch. On your free time in the future, maybe try NixOS in a VM just so you have a feel for it. And again, you can use Nix on Arch so you use apps from Nixpkgs.

        This all comes from an originally Arch user turned into an experienced NixOS user.

    • fxt_ryknow@lemmy.world
      link
      fedilink
      arrow-up
      6
      arrow-down
      1
      ·
      11 months ago

      I’m not sure I agree with this… I’m using nix on several different generation thinkpads, two older generation MacBooks (one air and one pro), two different older generation imacs, as well as my home built PC, and an OEM built pc… All with little to no tinkering whatsoever.

      All my tinkering was first setting nix up and figuring out how to use it… Then I saved and copied my config and use the same one on all the machines (albeit with subtle changes on first install).

      I’ve used arch a handful of times over the years, and it is without question, significantly more “needy” over time, imo.

    • Kaidao@lemmy.ml
      link
      fedilink
      arrow-up
      4
      ·
      11 months ago

      This is my experience as well. I went back to Arch after trying NixOS for a few weeks. I just ended up spending way too much time tinkering with the system instead of using it. Also, I feel like a major advantage to nixos is only viable if you have multiple machines. I only have a main desktop.

    • tetris11@lemmy.ml
      link
      fedilink
      arrow-up
      5
      ·
      11 months ago

      Guix

      +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.

  • Lupec@lemm.ee
    link
    fedilink
    arrow-up
    8
    ·
    edit-2
    11 months ago

    As a recent NixOS convert coming from Bazzite (Kinoite/Silverblue with user friendly daily driver and gaming tweaks), and before that mostly Arch-based distros, I’d say it boils down to the tradeoff between having way more control over reproducibility and having to deep dive into the often poorly documented domain specific rabbit hole that is Nix. If you’re comfortable with going out of your way to learn, looking for examples, reading source code to find out what options you can use or how stuff works, it can absolutely be worth it but it’s a steep price to pay for sure.

    I personally adore what Nix sets out to solve and find it extremely rewarding to learn. Plus, as a developer, I enjoy puzzling out how to get stuff done and don’t mind diving into the source if I need to, so it works for me. I’d absolutely prefer solid documentation, of course, but it’s not a deal breaker.

    When it comes to software, the Nix repo has a staggering amount of prebuilt binaries ready to download (which you can search here) and it’s often not too hard to hack together your own reproducible package if you want after you get comfortable enough with it. At least for my use cases, I haven’t really missed much from my days using Arch and the AUR. If anything, I appreciate how much more consistent it tends to be in comparison.

    If you, like myself, go for a flake (yet another rabbit hole within a rabbit hole) based setup and point to the unstable repo, you basically get a fully reproducible, easy to update and rollback rolling release not too dissimilar to using Arch with auto btrfs snapshots enabled. That’s how I used to do Arch and it feels pretty familiar.

    Anyway, that’s what I got. If you have any more specific concerns or questions I’d be happy to elaborate!

    Edit: I forgot to add but I find a nice way to get comfortable without fully commiting is using Nix as a package manager on any old distro. You could install it on Endeavour (I recommend this method) and play around with Home Manager, use it as a dotfiles manager on steroids, have it declaratively install and manage the CLI apps you can’t live without and whatnot, see how you like it. That’s how I started, I have a common HM config I’ve so far used with Debian at work, Ubuntu running under WSL when I’m on Windows and now NixOS itself.

  • BaroqueInMind@kbin.social
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    11 months ago

    Once I found out about Paru, I decided I would no longer need another OS outside of everything Arch provides. Also, Valve decided to switch SteamOS to Arch, so I’m sticking with it once they release it.

  • Helix 🧬@feddit.de
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    3
    ·
    11 months ago

    If you want to make your OS to a hobby, choose NixOS.

    If you want a system that just works, use Kinoite or Debian.

    If you want cutting edge software but fear Arch/Endeavour is prone to breakage, consider doing file system snapshots e.g. with snapper which you can boot into.

    • zingo@lemmy.ca
      link
      fedilink
      arrow-up
      2
      ·
      11 months ago

      If you want cutting edge software but fear Arch/Endeavour is prone to breakage, consider doing file system snapshots e.g. with snapper which you can boot into.

      openSUSE Tumbleweed fits that bill perfectly.

  • Presi300@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    11 months ago

    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.

  • dinckel@lemmy.world
    link
    fedilink
    arrow-up
    5
    arrow-down
    1
    ·
    11 months ago

    I’ve been using Arch for almost 8 years, and I enjoy basically everything about it. Since Nix has been so popular lately, I thought I’d take a look at it too. I like what it does, but the documentation is really poor, and the learning curve is insanely steep. When flakes and nix-command become stable, I’ll be giving it another shot

  • Unmapped@lemmy.ml
    link
    fedilink
    arrow-up
    3
    ·
    11 months ago

    The downside of NixOS is bad documentation. Which makes it take quite a while to get you config setup the way you want. Its so worth it though. I used arch for 5+ years and been on NixOS for about 6 weeks now. And 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 setting mine up. Vimjoyer

    • PipedLinkBot@feddit.rocksB
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      11 months ago

      Here is an alternative Piped link(s):

      Vimjoyer

      Piped is a privacy-respecting open-source alternative frontend to YouTube.

      I’m open-source; check me out at GitHub.

    • AggressivelyPassive@feddit.de
      link
      fedilink
      arrow-up
      0
      ·
      11 months ago

      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.

      • noli@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        11 months ago

        https://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

  • XenBad@lemmy.world
    link
    fedilink
    arrow-up
    6
    arrow-down
    3
    ·
    11 months ago

    I use NixOS for University and would highly recommend it if you want a highly configurable system that’s declarative, however, NixOS doesn’t have great documentation for certain features and usually does things differently, so you’ll have to learn the Nix way of doing things. On the plus side, I’ve never been unable to fix my OS when it broke, you simply rollback, or if there isn’t a suitable rollback, you can plug in a live usb and set the system to use a specific commit (can’t remember the exact command for this and that’s presuming you store your config with git). Also according to these statistics nixpkgs has more packages than the AUR.

    • just_another_person@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      11 months ago

      I think you just mean “declarative”. Highly configurable is literally any distro. I’d say NixOS is actually LESS configurable by design, but that is sort of the point: a repeatable image based on a template no matter what.

  • TCB13@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    2
    ·
    edit-2
    11 months ago

    Neither, rock solid Debian + flatpak for the latest software.

    • CatLikeLemming@lemmy.blahaj.zoneOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      11 months ago

      I’ve already considered Debian, but… I dunno, this isn’t what I’d call the most logical reason, but I just kinda don’t like it as my desktop OS. I’d use Debian over basically anything else for a server, but as a desktop OS I don’t like the vibe.

      Keep in mind, I started using Linux this summer and in a few years I’ll probably look back at this wondering why I was such an idiot, but I gotta fall and get a bloody nose first to notice ;3

      • TCB13@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        11 months ago

        I’ve already considered Debian, but… I dunno, this isn’t what I’d call the most logical reason, but I just kinda don’t like it as my desktop OS. I’d use Debian over basically anything else for a server, but as a desktop OS I don’t like the vibe.

        I was on the same boat as you are, flatpak essentially made it all perfect.

        • KISSmyOS@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          11 months ago

          For me, the issue with Debian stable currently isn’t the applications, but the DE. Wayland support and UX gets better with every update of Gnome/KDE, and that isn’t something you can install via flatpak.

  • dino@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 months ago

    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.

  • deikoepfiges_dreirad@lemmy.zip
    link
    fedilink
    arrow-up
    1
    ·
    11 months ago

    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@lemm.ee
      link
      fedilink
      arrow-up
      1
      ·
      11 months ago

      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

  • KISSmyOS@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    11 months ago

    “Stability” is probably the most mis-used word in the Linux world.
    It means that how your system looks and behaves doesn’t change, which is really important for servers, especially in business, where you want to plan any change in advance before you commit to it.
    Arch is not stable in this sense. It constantly changes, and those changes can come up on short notice with any upgrade.

    But when people read that Arch isn’t stable, they think the system can break at any time.
    I’d say this hasn’t been the case for at least 10 years now. If you RTFN (read the fucking news) and use the AUR sensibly, Arch has become a really boring system, regarding breakage.

  • utopiah@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    11 months ago

    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@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      11 months ago

      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.

  • markstos@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    11 months ago

    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.