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 !

    • Arthur BesseMA
      link
      fedilink
      arrow-up
      40
      arrow-down
      2
      ·
      2 years ago

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

      • flustered@kbin.social
        link
        fedilink
        arrow-up
        8
        ·
        2 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 BesseMA
          link
          fedilink
          arrow-up
          19
          arrow-down
          3
          ·
          2 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@kbin.social
          link
          fedilink
          arrow-up
          5
          arrow-down
          1
          ·
          edit-2
          2 years ago

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

        • DevCakes@kbin.social
          link
          fedilink
          arrow-up
          3
          arrow-down
          1
          ·
          2 years ago

          Yes, and it’s actually a problem. They sometime generate realistic looking, fake citations.

        • RosalynKirk@kbin.social
          link
          fedilink
          arrow-up
          34
          arrow-down
          2
          ·
          2 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.

            • 20gramsWrench@lemmy.dbzer0.com
              link
              fedilink
              arrow-up
              20
              arrow-down
              2
              ·
              2 years ago

              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.

                • AgreeableLandscapeM
                  link
                  fedilink
                  arrow-up
                  21
                  arrow-down
                  2
                  ·
                  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
                  arrow-up
                  10
                  arrow-down
                  2
                  ·
                  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@lemmy.ca
              link
              fedilink
              arrow-up
              13
              arrow-down
              2
              ·
              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

        • Arthur BesseMA
          link
          fedilink
          arrow-up
          34
          arrow-down
          3
          ·
          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@kbin.social
          link
          fedilink
          arrow-up
          23
          ·
          2 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.

        • AgreeableLandscapeM
          link
          fedilink
          arrow-up
          16
          arrow-down
          3
          ·
          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.

        • barsoap@lemm.ee
          link
          fedilink
          arrow-up
          8
          ·
          2 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)

            • barsoap@lemm.ee
              link
              fedilink
              arrow-up
              8
              arrow-down
              1
              ·
              2 years ago

              If your sources don’t match the claims no you’re not doing “the job” necessary to classify things as LLM-assisted instead of LLM-generated.

    • NathanUp
      link
      fedilink
      arrow-up
      5
      ·
      2 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.

  • federico3
    link
    fedilink
    arrow-up
    33
    ·
    2 years ago

    It’s in no way “everyone”, just a vocal minority.

      • pingveno
        link
        fedilink
        arrow-up
        5
        ·
        2 years ago

        Why do I get nothing but first dates?

        By the way, I use NixOS.

        • Atemu
          link
          fedilink
          arrow-up
          1
          ·
          2 years ago

          Now that’s a niche joke if I’ve ever seen one.

          • pingveno
            link
            fedilink
            English
            arrow-up
            1
            ·
            2 years ago

            Ironically, I have in the past used NixOS and I’m happily married. My husband (gay men) genuinely loves me for my nerdy interests and wouldn’t have me any different. I feel very lucky. :)

  • Tilted@programming.dev
    link
    fedilink
    arrow-up
    27
    arrow-down
    2
    ·
    2 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
    • priapus@lemmy.one
      link
      fedilink
      arrow-up
      8
      ·
      2 years ago

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

    • Atemu
      link
      fedilink
      arrow-up
      8
      ·
      2 years ago

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

      • Tilted@programming.dev
        link
        fedilink
        arrow-up
        8
        ·
        2 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
        arrow-up
        1
        ·
        2 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@kbin.social
      link
      fedilink
      arrow-up
      2
      ·
      2 years ago

      Are you still using it and happy with it? I’ve been increasingly setting single purpose dev VMs in 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
        arrow-up
        6
        ·
        2 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
            arrow-up
            2
            ·
            2 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.

          • Tilted@programming.dev
            link
            fedilink
            English
            arrow-up
            1
            ·
            2 years ago

            I have been using Arch and Fedora. Considering Fedora Silverblue too. Everything is working well, so not in a rush to distro hop.

  • featherfurl
    link
    fedilink
    arrow-up
    19
    ·
    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.

    • tetris11
      link
      fedilink
      arrow-up
      7
      ·
      2 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.

    • SolemnAttic@feddit.de
      link
      fedilink
      arrow-up
      5
      ·
      2 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

  • moldyringwald@kbin.social
    link
    fedilink
    arrow-up
    18
    arrow-down
    2
    ·
    2 years 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

    • Chobbes@lemmy.world
      link
      fedilink
      arrow-up
      7
      ·
      2 years 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.

    • Glome@kbin.social
      link
      fedilink
      arrow-up
      3
      ·
      2 years ago

      It’s true that it can be a powerful distro but I’ve also heard from some users that the advanced-level documentation is lacking and only limited to forums and source code. I think maybe if the documentation was more thorough I would try nixos.

    • RosalynKirk@kbin.social
      link
      fedilink
      arrow-up
      1
      arrow-down
      13
      ·
      2 years 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
          1
          arrow-down
          1
          ·
          2 years 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.

  • mrh@mander.xyz
    link
    fedilink
    arrow-up
    18
    arrow-down
    2
    ·
    edit-2
    2 years ago

    I daily drive GNU Guix instead, and I would strongly recommend any emacs and/or lisp enthusiasts interested in the benefits of functional, reproducible, declarative, and hackable system management to give it a try!

    • NCR Ranger@sh.itjust.works
      link
      fedilink
      arrow-up
      6
      ·
      2 years ago

      Do you run the gnu guix distro or just use the package manager? Because iirc it uses only free software, even for drivers. So I imagine it is not that easy to find compatible hardware.

      • mrh@mander.xyz
        link
        fedilink
        arrow-up
        7
        ·
        edit-2
        2 years ago

        I run the complete system. It’s true that the standard iso comes with the linux-libre kernel and the standard channel (think repo) contains only free software. However there is the nonguix channel which comes with the full linux kernel, and all the proprietary drivers you could ask for.

        Nonguix offer an iso with the full kernel too in case you have a proprietary wifi card and don’t have ethernet for the initial setup. The nonguix README I think is pretty clear, but Systemcrafters also made an excellent guide for doing this.

        My wifi card unfortunately requires proprietary drivers and I have personally never had an issue with guix + nonguix for all my software needs, proprietary and otherwise.

        Hope that helps profligate!

        • noisytoot
          link
          fedilink
          arrow-up
          2
          ·
          2 years ago

          Does it actually require proprietary drivers or just proprietary firmware? I don’t know of any wifi cards that actually require proprietary drivers on Linux.

        • bc3114
          link
          fedilink
          arrow-up
          1
          ·
          2 years ago

          Nice! I gotta try guix(package manager) on my arch now, not sure if I want to use full guix system yet:)

    • quaver
      link
      fedilink
      arrow-up
      1
      ·
      2 years ago

      yeah, Guix is great. I tried to use NixOS for a while but I couldn’t get over how much I dislike Nix as a language. Scheme is way way better imo. Guix definitely isn’t as polished Nix given its lower number of users but it’s still a very pleasant experience.

      • mrh@mander.xyz
        link
        fedilink
        arrow-up
        1
        ·
        2 years ago

        It’s a source-based distribution like Arch so packages are as up to date as the package maintainers keep them. Of course anybody can go in and submit a newer version of a package if the original packager has been slacking on updating. You can also use your own custom version of the package by just copying the package definition, bumping up the version number, and then installing it with guix package -f my-custom-package.scm

  • le_saucisson_masque@lemmy.world
    link
    fedilink
    arrow-up
    15
    arrow-down
    1
    ·
    2 years 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.

  • Litanys@lem.cochrun.xyz
    link
    fedilink
    English
    arrow-up
    13
    ·
    2 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!

    • Faresh
      link
      fedilink
      English
      arrow-up
      4
      ·
      edit-2
      2 years ago

      Doesn’t it have a garbage collector like guix does (guix gc), which cleans up everything in the store that isn’t needed anymore?

      • zwerdlds
        link
        fedilink
        English
        arrow-up
        4
        ·
        2 years ago

        Yep, Nix-store -gc or some such will do something like this.

    • Atemu
      link
      fedilink
      arrow-up
      3
      ·
      2 years ago

      Well, Nix has a very liberal definition of a “package”. Your web browser, its wrapper script, a service file, a config file; those are all technically “packages” (or “derivation” as Nix calls them).

  • fazo96@lemmy.trippy.pizza
    link
    fedilink
    arrow-up
    12
    ·
    2 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
      arrow-up
      3
      ·
      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

  • Syboxez@lemmy.world
    link
    fedilink
    arrow-up
    13
    arrow-down
    2
    ·
    edit-2
    2 years 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
      6
      arrow-down
      2
      ·
      edit-2
      2 years 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.

      • Laser@feddit.de
        link
        fedilink
        arrow-up
        4
        ·
        2 years ago

        Interesting, my first install of NixOS was done in a few hours and included a feature that I had not used in my previous Arch install, namely secure boot. It proved to be no issue whatsoever.

        I do agree though that you’re looking of lost without search.nixos.org, and documentation is lacking. E.g. did you know that enabling Plasma sets your main font to Noto, regardless if you’re actually using Plasma or just have it as an option in your display manager? Or when to enable a program or service rather than adding it to your system packages? Or that if you install plain obs and some plugins, the plugins won’t actually work?

        I do understand why this is the way it is and I do think it’s the better approach. But it’s not perfect.

        On the other hand, my system works very well in daily usage.

  • JSens1998
    link
    fedilink
    arrow-up
    10
    arrow-down
    1
    ·
    2 years ago

    Hmm, I’ve never heard of NixOS. Is it suppose to be like blendOS or CurtainOS? A blend of different desktop environments?

    • knoff
      link
      fedilink
      arrow-up
      13
      ·
      2 years ago

      It’s unlike most other Linux systems I’ve ever used. The central idea is declarative structures. So your entire operating system, all of the apps and systems services and other custom things you need, are declarative in one place and hopefully easy to activate.

      So instead of flatpak install, you add the program to a ‘text file’ and rebuild your system.

      Everything is using the nix package manager which has been around since long before the distro nixos.

      That’s only the start of the rabbit hole, but if anything sounds interesting i encourage you to check it out!

      • JSens1998
        link
        fedilink
        arrow-up
        1
        ·
        2 years ago

        Hmm, a very interesting approach indeed.

        When you say rebuild, does it have to rebuilt everything? If so, is it quick to do so?

        • knoff
          link
          fedilink
          arrow-up
          1
          ·
          2 years ago

          It checks everything that has changed since last build and it changes only what is needed, I’d say 30 seconds or less normally. When updateing, you can end up updating all of the packages on your system at once, which of course is dependent on your network speed / sometimes compile time, but for me it can take around 10-15 minutes in that case. On a slow network, with a laptop CPU.

          But you get atomic rollbacks so any breaking changes can be rolled back just by rebooting and selecting a different build.