Hi everyone!

I saw that NixOS is getting popularity recently. I really have no idea why and how this OS works. Can you guys help me understanding all of this ?

Thanks !

  • featherfurl@lemmy.ml
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    1 year ago

    Here’s the straightforward version of why I use it:

    1. The entire state of your operating system is defined in a config file, and changes are made by changing the config file. This makes it super easy to reproduce your exact system many times and to know where all the many different configuration elements that describe your system are located.

    2. Updates are applied atomically, so you don’t have to worry about interrupting the update process and if it fails, the previous state of your system is still bootable. By default every time you change something, you get another option in the boot menu to roll back to.

    3. Making container-like sub systems is super easy when you’re familiar with nix, so you can have as many different enclaves as you like for different software versions, development environments, desktop setups, whatever without taking a performance hit. Old versions of stuff are very accessible without breaking your new stuff.

    4. The package manager has a lot of software and accessing nonfree stuff is straightforward. Guix looks rad, but nix ended up being the more practical compromise for my usecase. I didn’t want to have to package a heap of software the moment I made the switch.

  • le_saucisson_masque@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    I keep seeing trends with Linux distribution like teenager looking for new fashion.

    I think it’s mostly the very young Linux user who hope from one distribution to the another over and over whereas many just stick with what they got : Ubuntu, Debian, mint, maybe fedora.

    NixOS is certainly interesting tho.

  • Tilted@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    I used NixOS for a couple of years. My experience is like this:

    1. It is a rolling release (mostly)
    2. You write a declarative configuration for your system, e.g., my config will say I want Neovim with certain plugins, and I can also include my Neovim configuration
    3. It is stable, and when it breaks it is easy to go back
    4. Packages are mostly bleeding edge
    • Atemu@lemmy.ml
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Note that there’s both the rolling unstable channel and a bi-annual stable release channel.

    • priapus@lemmy.one
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Important to note that NixOS has both a rolling release and point release version.

      • Sr Estegosaurio@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        You can even define configurations for different systems/hosts/users from a single place. I’ev atomized my config and I can reuse lots of parts for my different machines. Also my user config is nearly identical (except hardware specific things).

      • Tilted@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Yes absolutely. It is really great. It is also a source of frustration, e.g., missing configuration options, non-obvious options and so on. Overall it works well.

    • Speedmaster@lemmy.ml
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      That is the main reason I can’t use my laptop with linux. It has a 3060 in it. I work as a dev and need to use 2-3 external displays with my laptop. The driver combined with x or wayland is atrocious, I tried 20 distros and I can’t get it to work. The saddest thing is that none of the tech is exotic in any way. It’s just HDMIs and AOC 24 inch monitors…

  • Syboxez@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    NixOS is a fully declarative and reproducable system.

    What this means is that you can create a single configuration.nix, which includes all of your applications, settings, aliases, environment variables, user account + groups, etc., and copy that over to another NixOS machine (including different architectures) and run nixos-rebuild boot to completely reproduce the system on that other machine.

    The nix package manager is also really good at telling you if the configuration will break anything, where, and how, and refuses to apply until the issue is fixed.

    Also every time you use nixos-rebuild, it creates a new generation of your NixOS install meaning if something ends up breaking, you can reboot into the old system.

    So for example, I can theoretically have the exact same configuration across my desktop, laptop, phone, server, etc., minus the automatically generated hardware-configuration.nix, which is specific to the hardware.

    Also Nix supports package overlays, which means that you can modify an existing package while the maintainer still keeps it up to date.

    • Thenonymous Rexius@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      1 year ago

      Oh boy my two cents time!

      I love the concept of NixOS. A fully declarative , reproduceable system from a single config repo! Sounds theoretically like it would be my kind of thing.

      Sure, theoretically, I could have a fully reproduceable system. The time spent declaring that fully reproduceable system though… I remember the first time I was trying to get my usual disk setup of, a luks encrypted btrfs partition with multi-factor enabled decryption/authentication.

      On a normal install it would take like a day at worse to install your distro. My first attempt with NixOS took me almost 4 days of screwing around in configs. 2 of those days were probably cumulatively spent waiting for the config option list of the nixos manual to search for text. And the number of redundant config options which all do the same thing! Or, are supposed to all do the same thing but in actuality, only one of them does the thing they are supposed to.

      I really want to love NixOS but it always ends up feeling like an exercise in my patience and time to do even the simplest of things. As such I find myself asking the question of, am I going to spend so much time reinstalling my distro that it’s ever worth this initial investment?

      Anyways, rant over. I actually have been debating switching back over for another try again myself I just have some very frustrating memories of my first attempts with the distro.

  • moldyringwald@kbin.social
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    It’s insanely stable but you have to have a lot of linux/programming knowledge to do even the simplest things like installing/updating your software or making little tweaks. I played with it for hours the other day and I’m just too dumb to figure it out lol I think it’s just a super stable highly customizable distro for power users and a lot of people like that. If you can get over the learning curve it’s a pretty powerful and unique os

    • RosalynKirk@kbin.social
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      you have to have a lot of linux/programming knowledge to do even the simplest things like installing/updating your software

      So, pretty much like any other distro

        • RosalynKirk@kbin.social
          link
          fedilink
          arrow-up
          0
          arrow-down
          1
          ·
          1 year ago

          Weird, every distro I’ve tried either has no management, or doesn’t work. Just spins around loading. “Uninstalling” packages does nothing but remove them from the package manager.

    • Chobbes@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      It’s kind of funny because I’d put NixOS on a complete newbies computer for sure, and recommend it to an expert… But I’m less sure if I’d tell a random mid-intermediate Linux user to switch.

      Like if Grandma wants Linux on their computer to do some internet browsing for some reason… I’d absolutely put NixOS on it because it’s easy to manage the system for them… But somebody who is a little familiar with Linux already might be more confused about the differences. It’s kind of the ultimate beginner distro and the ultimate power-user distro, but a bit awkward between those extremes, haha.

    • Atemu@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      To get it out of the way first: There are no financial issues. There are more than enough funds to continue operations as they are for a sufficiently long time.

      What is actually happening is that a long time sponsor has indicated that they (understandably) no longer want to foot the huge bill of hosting the entire archive of binary caches ($9000/mo). Finding a more sustainable setup is what the community is currently concerned with.
      There is no risk of operations shutting down any time soon, the NixOS foundation has funds set aside to continue even this unsustainable setup for at least a year. We just want to be more efficient with our and others resources going forwards.

      That’s what all this you might have heard of is about.

      Btw, even if the binary cache were to go poof, we don’t technically need it. NixOS is a source-based distro like Gentoo and source hosting is not a concern. The binary cache is immensely helpful though which is why we’d obviously prefer to keep it.

        • Atemu@lemmy.ml
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          Yes, AWS gracefully sponsored 12 months of our S3 bill which gives us even more time to enact change.

          That’s just the short term resolution though, the Nix community is still looking into more sustainable long-term solutions.

  • blackstrat@lemmy.fwgx.uk
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    All I year about from the linux community is NixOS and btrfs, neither of which I have any interest in. It almost feels like someone with an agenda is promoting these two with how prevelant they are.

    • 80KiloMett@discuss.tchncs.de
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      I like using btrfs with Arch because of the snapshots. If an update breaks something I can just boot into a snapshot from grub keep using my PC and solve the problem later. It’s very useful… yes… very… you should try it… come… try btrfs… it’s warm and cozy… INSTALL IT!

      • blackstrat@lemmy.fwgx.uk
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        I have tried btrfs in the past and when it goes wrong you are utterly shafted. You can’t even mount it as a read only file system, it will just lock you out entirely. And the support isn’t great, I ended up finding something that had a disclaimer along the lines of “only run this if you really know what you’re doing”, but obviously I didn’t as the documentation didn’t tell me enough to know. So the only people who could possibly know are the developers of the file system themselves. Anyway, I was 2 days in to trying to recover my data by this point so I gave it a go, nothing to lose - it refused to do anything. Great.

        So in summary I’m not going to try it again.

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

          can confirm, I’ve recently had my btrfs partition on NixOS go permanently read-only because it ran out of metadata space (which you can’t extend without write access, even though btrfs does reserve 0.5GB of metadata space) so I’ve switched to bcachefs

  • datendefekt@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    Glancing over the website, I thought it’s an immutable OS, like Fedora Silverblue. I could imagine that it might be cool to use with Ansible and stuff. But for an average user? I can’t really see the advantages in respect to the work you have to put in.

    • nani8ot@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      It is an immutable distro, altough it isn’t image-based like Fedora’s rpm-ostree.

      NixOS basically replaces Ansible because the Nix package manager achieves the same goals already (configuration, deployment, …).

      But I agree, the work necessary to put into this non-standard distro makes it hard to recommend for a casual user.