I’ve been curious about NixOS for quite some time. Reading about it I couldn’t see how the config sharing capabilities, setup, or rollabck would be better than Arch and sharing the list of installed packages, using downgrade or chroot.

So I decided to run NixOS in a VM and I’m still confused. An advantage I can see for NixOS is its better use of cores and parallel processing for packages install.

It’s clear that I’m missing something so please help me understand what it is.

Edit: Thank you to everyone in this great community! It’s always so nice to have a constructive and sane discussion.
After reading so many comments, they all confirm what I’ve read before and I may realize that my real problem is already having a stable system and no need for the great NixOS options that are very neat but would not benefit my specific and simplistic needs. That being said I can’t refrain myself from being curious and will continue testing NixOS.

The need for only 2 config files is the top of the iceberg but hiding more complex configuration to rely on. Not that I really have too much spare time but I do enjoy learning and tweaking NixOS. With its current development state, things are changing a lot so it can keep me busy for months. That’s probably what I was mostly looking for: another toy to play with.

Along my journey I will learn a lot about NixOS and may find a feature that will motivate my switch to it. Thanks again for all your precious feedback!

I’ll also take this opportunity to share the best help I’ve found so far to start with NixOS: https://github.com/MatthiasBenaets/nixos-config And his 3 hours (!) video: https://m.youtube.com/watch?v=AGVXJ-TIv3Y

  • dinckel@lemmy.world
    link
    fedilink
    arrow-up
    26
    ·
    9 months ago

    The appeal of it, to me, is the same as why Docker containers are really good. You write your definition, save it to git, for example, and if you ever need to setup your computer from scratch, if you restore that config, it’ll setup your computer exactly like it was before. But even besides that, being able to roll back if something goes wrong, is a big plus

    • www-gem@lemmy.mlOP
      link
      fedilink
      arrow-up
      9
      arrow-down
      1
      ·
      9 months ago

      That’s what I keep reading and why I would like to give it a try. For now I’m still confused how this is easier/more efficient than sharing your list of packages, restoring a backup, or using downgrade in Arch. I’m really interested because I like to try new stuff, especially if they bring something of interest.

      I really have hard time to see the difference for now after my first setup in a VM but also because imaging my full Arch system on a new machine 2 years ago only took me an hour and less than 10 command lines.

      Again, I’m genuinely trying to understand what I’m missing. From my reading NixOS seems to be the only distro I could switch to.

      • BCsven@lemmy.ca
        link
        fedilink
        arrow-up
        3
        ·
        9 months ago

        my thoughts which may have inaccuracies: in NiXOS The package declares the exact version of dependencies needed. when you update nixos it takes up quite a bit of space because you may have some links to one library but another app uses something else and both are stored on drive, and your old install is still there to roll back to. On other distros a package lists dependencies, but during updates a single dependency may have a bug fix point release, and upRev. so the behaviour of that app you added may change depending on all it subparts changing. So when you install non nix today or 6 months that package also determines how it may function. if Dependencies updated in the meantime your install may act different. NiX prevents this since you have a repeatable install.

        • www-gem@lemmy.mlOP
          link
          fedilink
          arrow-up
          3
          arrow-down
          1
          ·
          9 months ago

          Thanks for taking time to share this detailed thought. That’s an interesting point I forgot because I didn’t experience any related issues over 15 years with Arch but that’s still a nice approach. I can certainly see why this is a big plus for NixOS.

          • BCsven@lemmy.ca
            link
            fedilink
            arrow-up
            1
            ·
            9 months ago

            I haven’t had issues with my OpenSUSE Leap install in 7 years either, there is careful curating, and automated QA testing, and roll back snapshotting if you break something while messing about. But I have a NixOS machine also. It provides a nice way of configuring a repeatble system, which is probably a huge bebefit for folks making / deploying linux devices that are 100% repeatable.

            • www-gem@lemmy.mlOP
              link
              fedilink
              arrow-up
              2
              arrow-down
              1
              ·
              edit-2
              9 months ago

              Right, I totally agree. If I would have to deploy my config on several machines or create dedicated config using a common base then I would have been convinced. I’m still not convinced from a dummy single user point of view but I still believe in this distro and like its approach so I’ll continue experimenting with it and we’ll see where my journey leads me.

              At least for now I’m glad to have a new toy I can mess up with. With my Arch system I was getting this weird feeling where I was happy to have an efficient and stable machine while at the same time being bored to have nothing to test/tweak/destroy and rebuild. I mean I love to learn and discover new things so I experiment a bunch of applications and parameters I will never need anyway but it becomes harder and harder to find something that keeps me entertained for more than a day.

              • BCsven@lemmy.ca
                link
                fedilink
                arrow-up
                2
                ·
                9 months ago

                I hear you. My openSUSE Leap has been so stable that I got bored with nothing to tweak. Their MicroOS has an immutable system with config file setup capability, and sombody built this for it to make config file creation simple https://opensuse.github.io/fuel-ignition/edit so that was fun for a while. But NixOS was a nice distraction also