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 !

  • @Veritas@lemmy.ml
    link
    fedilink
    162 years ago

    The increasing popularity of NixOS can be attributed to several factors that make it stand out among other Linux distributions. Some of the key reasons why people are switching to NixOS include:

    1. Reproducibility: NixOS allows for reproducible builds and deployments, ensuring that the same code will produce the same output across different environments[1][2].

    2. Easy rollbacks: NixOS has built-in rollbacks, which means that if a configuration change causes the system to be unbootable, it is easy to roll back to a previous working install[1][3].

    3. Nix package manager: NixOS uses the Nix package manager, which simplifies package management and system configuration[1].

    4. Multiple versions of the same package: NixOS allows users to have multiple versions of the same package installed, which can be useful for testing and development purposes[1].

    5. Stability: NixOS is considered a very stable platform compared to other Linux distributions, such as Arch Linux[3].

    6. Declarative configuration: NixOS uses a declarative configuration approach, which offers benefits over the imperative approach used by more traditional operating systems[4].

    In addition to these features, the recent introduction of the open-source platform flox has made it easier for developers and enterprises to adopt NixOS. Flox expands on Nix’s unique approach to package management and system configuration, providing convenience, collaboration, and control throughout the Systems Development Life Cycle (SDLC) [5]. This has led to an increase in the adoption of NixOS among developers and enterprises.

    Overall, NixOS offers a combination of stability, reproducibility, and flexibility that appeals to developers and users who want a reliable and customizable Linux distribution.

    Citations:

    [1] https://itsfoss.com/why-use-nixos/

    [2] https://techcrunch.com/2023/02/07/flox-raises-27m-to-bring-nix-to-more-developers/

    [3] https://ramsdenj.com/2017/06/19/switching-to-nixos-from-arch-linux.html

    [4] https://www.anthes.is/nixos-pros-cons.html

    [5] https://finance.yahoo.com/news/flox-raises-27-million-introduces-140100442.html

    • Halo
      link
      fedilink
      22 years ago

      Do you use Nix, personally? Also, it’s crazy that I found this post while thinking about distro hopping.

    • @NathanUp@lemmy.ml
      link
      fedilink
      22 years ago

      I would love to have #4 on Arch / EndeavourOS.I recently had my Scribus install (SVN from the AUR) break due to Arch moving to some newer library. There really isn’t an easy way to solve this AFAIK.

    • Arthur BesseM
      link
      fedilink
      22 years ago

      this comment reads suspiciously like it was written by an LLM (eg ChatGPT). was it? please don’t do that!

        • RosalynKirk
          link
          fedilink
          72 years ago

          If OP wanted a response from an LLM, they would have typed their question into an LLM. The least you could do is label it as such.

          • @Veritas@lemmy.ml
            link
            fedilink
            16
            edit-2
            2 years ago

            I use an LLM to edit everything I write. Does this mean I have to label everything as LLM-generated? I am the one doing the job, but in the end, I’m just copy-pasting the output from the LLM.

            • Rule or not, it’s pretty lame, look at the size of your post compared to how much info it gives, had you copied a article from some basic linux news stite, it would have given mostly the same output, now think about what linking a page to an article about nixos as a response to op trying to start a conversation about it would look like, rude.

              • @Veritas@lemmy.ml
                link
                fedilink
                17
                edit-2
                2 years ago

                Why don’t you label your name in every answer, so we can check if you are hallucinating or making things up?

                • @AgreeableLandscape@lemmy.mlM
                  link
                  fedilink
                  4
                  edit-2
                  2 years ago

                  Why don’t you label your name in every answer

                  You mean like a username that is listed in the header of every post and comment?

                • 133arc585
                  link
                  fedilink
                  3
                  edit-2
                  2 years ago

                  Why don’t you label your name in every answer, so we can check if you are hallucinating or making things up?

                  What?

                  I’m also curious why you feel the need to have an LLM edit your writing. What did you do before an LLM? And what benefit do you feel the LLM writing your comments is offering you and those reading your comments?

            • Zamboniman
              link
              fedilink
              3
              edit-2
              2 years ago

              I use an LLM to edit everything I write.

              May I invite you to consider the pitfalls of such an approach?

              Does this mean I have to label everything as LLM-generated?

              Yes, that would be reasonable imo

            • RosalynKirk
              link
              fedilink
              22 years ago

              Using an LLM to autocorrect your own words is not the same as copy-pasting an LLM response.

        • Arthur BesseM
          link
          fedilink
          6
          edit-2
          2 years ago

          thanks for clarifying. i’m deleting your generated comment per rule 4 (spamming) as well as two other generated comments you posted elsewhere; if another admin wants to undelete any of these i would be surprised.

          please do not post LLM-generated comments without clearly labeling them as such. imo this is common sense, and doesn’t need its own rule, rule 4 is sufficient.

        • r00ty
          link
          fedilink
          52 years ago

          I don’t know whether just using an LLM is a problem. But in your case I would say the fact you used one and didn’t indicate you did. If you indicated the answer came from an LLM, then the trust in the answer could be weighted accordingly by each user.

          That’s my opinion at any rate.

        • @AgreeableLandscape@lemmy.mlM
          link
          fedilink
          1
          edit-2
          2 years ago

          The admins did not remove the comment, a community mod did. Mods can impose further restrictions on their communities on top of instance wide rules (within reason of course), including banning LLMs. Lemmy.ml at least does not have a blanket ban on LLMs, but generally it’s expected that, 1, you should not post LLMs excessively, we mainly want to host discussions by humans, 2, you should disclose it’s from an LLM and which one it’s from, and preferably add to what it says with your own comments or analysis. If it’s a mix of LLM and your own writing, say so at the start of the comment, but if the community directly disallows LLMs then you shouldn’t post it there at all.

          • @Veritas@lemmy.ml
            link
            fedilink
            15
            edit-2
            2 years ago

            So basically promote software for free? No thanks, bye. I won’t attribute everything I write to an LLM.

        • @barsoap@lemm.ee
          link
          fedilink
          12 years ago

          Under the soon to be enacted EU AI laws such a bot would be limited-risk application (interaction with humans), the requirements for a text bot aren’t particularly high but also non-negotiable from a best practice POV: Stating front and centre that it’s an AI generated post. It’s also best practice to fulfil criteria necessary for high-risk systems voluntarily, the more you can fulfil I bet the less hostile people are going to be.

          The library of congress has an executive summary of the thing.

          (EU sources alas are a bit iffy at the moment there’s the commission version and the parliament amendments, haven’t seen a consolidated version yet. When will politicians start using proper VCS)

          • @Veritas@lemmy.ml
            link
            fedilink
            17
            edit-2
            2 years ago

            I use an LLM to edit everything I write. Does this mean I have to label everything as LLM-generated? I am the one doing the job, but in the end, I’m just copy-pasting the output from the LLM.

      • flustered
        link
        fedilink
        12 years ago

        I tried asking for sources before, and they were all wrong, either non-existant or not even about the topic, some were just random urls.

        • Arthur BesseM
          link
          fedilink
          42 years ago

          Do LLMs give citations?

          do they ever!

          (The citations in this comment appear to be all real links about NixOS, but they are not particularly relevant to the places in the comment where they’re cited.)

        • Clairvoidance
          link
          fedilink
          12 years ago

          Bing ‘chat mode’ (read: hooked GPT-4 to their search engine) does in essentially this format.

  • @featherfurl@lemmy.ml
    link
    fedilink
    7
    edit-2
    2 years 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.

    • @SolemnAttic@feddit.de
      link
      fedilink
      12 years ago

      This very much. I used to have lots of unchecked config and state files everywhere on Arch. Now everything is checked in and wiped on boot so if something breaks after a reboot i know what broke.

      Like how the opengl rendering did due to nixpkgs version differences

    • @tetris11@lemmy.ml
      link
      fedilink
      12 years ago

      You forgot to mention: cross-compiling binaries for other architectures has never been so easy. You can even make them static builds.

      It’s breathed new life into my old synology NAS which is stuck on an old Linux 3 kernel.

  • @Tilted@programming.dev
    link
    fedilink
    52 years 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
      link
      fedilink
      42 years ago

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

    • ★ L0WighOP
      link
      fedilink
      32 years ago

      The configuration stuff seems great. I guess it reduce the struggle of porting a full config from one pc to another right ?

      • @Tilted@programming.dev
        link
        fedilink
        32 years 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.

      • Sr Estegosaurio
        link
        fedilink
        12 years 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).

    • SirNuke
      link
      fedilink
      02 years ago

      Are you still using it and happy with it? I’ve been increasingly using single purpose dev VMs in a server, and a declarative configuration system would make the process of spinning them up faster and more robust. My current shell script system is clunky, and I’ve been looking at Ansible.

      • @Tilted@programming.dev
        link
        fedilink
        32 years ago

        Not using it anymore. Although I’m thinking about going back to it. The NixOS learning curve is a bit more steep than most other distros.

          • @Tilted@programming.dev
            link
            fedilink
            12 years ago
            1. Some level of frustration with the nix language and the configuration
            2. Wanting to try various obscure Python packages

            Nothing too major. Just already knowing how to make things work in other distros vs investing more time into learning to do it the NixOS way.

  • Herbstzeitlose
    link
    fedilink
    42 years ago

    Because it’s the latest Cool Nerd Thing™ like Arch before it, and Gentoo before that. Most of the people raving about it probably don’t have much use for its features.

    • @IDe@lemmy.one
      link
      fedilink
      32 years ago

      The features themselves are very useful for basically any user. Whether they are worth the non-standardness and issues that come with it is another question.

    • ___hulk
      link
      fedilink
      12 years ago

      Solution without a problem. A cool solution but yeah.

      • commandar
        link
        fedilink
        12 years ago

        I don’t think that’s accurate, personally.

        Declarative orchestration systems have been around for years and have a very real use case when needing to stand up servers in a replicable way. Nix is applying that approach at the system level.

        I’m not entirely sold on wanting to put that level of effort into a personal desktop, but I don’t think it’s at all fair to say that it’s not addressing real problems.

  • datendefekt
    link
    fedilink
    32 years 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
      12 years 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.

  • fazo96
    link
    fedilink
    32 years ago

    I have been using for years on servers. My lemmy instance is hosted on it.

    Although for desktop I had too many issues back in 2019 so I ended up back to Arch Linux and then EndeavourOS

    Would be fun to try again to use it on desktop

    • @dbemol@lemmy.dbzer0.com
      link
      fedilink
      1
      edit-2
      2 years ago

      I think I will give it a try on a server first, I don’t have a playbook or script for a reproducible set up (yet), so I may as well use Nix to see if it’s worth the hype

  • Litanys
    link
    fedilink
    English
    32 years ago

    I’ve been using it for over a year and love it. A config file for your entire system, and built in rollbacks anytime something goes wrong. One language to configure everything, although in practice that doesn’t always work. But I love it.

    Some others have started why it works, here is some how. Nixos completely disregards the fhs. Packages don’t install to anywhere standard, every package and configuration change gets it’s on directory in /nix/store but through smart use of tracking everything there, it symlinks all those files to proper places and sets up the environment for them to know where libraries are.

    This is then also why you don’t need sudo privileges to install things. Your profile has an environment that is aware of your users packages and configurations, the system itself isn’t effected because everything is symlinked.

    Then because every update means new directories in /nix/store you can role back to your last configuration because plasma broke something or whatever.

    However, it’s a LOT to learn. Best place I know of is https://piped.video/watch?v=AGVXJ-TIv3Y&t=0

    This guy did a good job for me. Hope this helps!

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

  • @joshthetechie@lemmy.world
    link
    fedilink
    32 years ago

    People love Nix because of the OS configuration based around a single config file. Essentially, you define your system configuration in this file, including installed programs, then you rebuild your system based on that configuration.

    The beauty here is that you can easily move this file to another machine running NixOS and reproduce your configuration there. You can also roll back changes by simply rebooting and choosing the last known good build and you’re back in business.

  • @Lalelul@feddit.de
    link
    fedilink
    22 years ago

    I switched around one and a half years ago. I must say, there are some hurdles to using NixOS. Mainly I dislike that it always takes around 20 times the effort to start and project. You make up for the initial time investment, because you end up with a far more stable setup, but still it does take some willpower to get things started.

  • Cegorach
    link
    fedilink
    22 years ago

    nah

    didn’t have enough time during the last half a decade to learn yet another thing

    might be better fit than my current debian setup - but how would I ever know, since my current thing is good enough?