• just_another_person@lemmy.world
    link
    fedilink
    arrow-up
    32
    arrow-down
    7
    ·
    edit-2
    6 days ago

    It really is not. It has a very specific purpose, and desktop usage is not it’s strong point. It’s meant for repeatable builds at scale. Not great for an uncontrolled user experience.

    • Decq@lemmy.world
      link
      fedilink
      arrow-up
      16
      arrow-down
      1
      ·
      edit-2
      6 days ago

      I disagree. I love it for a desktop system . The fact that you can just try a package/app out with nix shell -p pkg and it doesn’t mess with your global environment and don’t have to bother to uninstall/clean up is very nice. Also combined with direnv/shell.nix it’s really nice for setting up different dev environments, no need to globally install your dev tools (of course you can also do this without nixos too). Or the fact I can run a test variant of my setup without being afraid of corruption with nixos-rebuild test and it will never be able to fuck my existing setup…

      Of course, configuring everything in a single structure is a bit of work at the beginning. But it’s really not that bad (though the documentation could really use some work) . You can just reuse your existing dot files by just including them without converting them to the nix language. And the fact I can now update and configure all my systems from one place and one structure is amazing, without having to ssh in every machine and remember how it’s configured.

      Now does that mean it’s the final distro? Probably not. But would I go back to a non-declaritive setup? Most definitely never. Maybe I’ll try out guix sometime, but I personally never liked lisp variants as a language. But who knows what else comes along. But imho declarative is the way to go for any setup, desktop or server.

    • ruffsl@programming.devOP
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      2
      ·
      6 days ago

      Not great for an uncontrolled user experience.

      • Interesting. What linux distros are optimal for that use case?
        • Specifically what properties of those distros make them ideal?
      • just_another_person@lemmy.world
        link
        fedilink
        arrow-up
        12
        arrow-down
        9
        ·
        6 days ago

        It doesn’t matter, because Nix isn’t built for it. That’s not it’s purpose or what it’s best at.

        Kickstart some Fedora if you need a similar experience, or use whatever ORM templating any other distro might offer. They all offer a better desktop experience because they are tuned with their packages and experience.

        Nix is meant for automated build systems to be binary reproducible. That’s it.

        People fanning over the declaration language are foolish for not realizing that literally all the big distros have the same experience, BUT are not claiming the same end result.

        • ruffsl@programming.devOP
          link
          fedilink
          English
          arrow-up
          8
          arrow-down
          1
          ·
          6 days ago

          It doesn’t matter, because Nix isn’t built for it. That’s not it’s purpose or what it’s best at.

          I was asking more about linux distros other than NixOS.

          They all offer a better desktop experience because they are tuned with their packages and experience.

          • Would you say it’s a front end aspect? If user driven system changes were as simple as using a Software Center UI?
          • A similar [desktop] experience sounds relative, what the comparison? Windows, MacOS, <Not Fedora> linux?
          • just_another_person@lemmy.world
            link
            fedilink
            arrow-up
            2
            arrow-down
            12
            ·
            6 days ago

            Yeah, so LITERALLY ANY OTHER DISTRO, that says it’s a Desktop Edition is a better choice.

            What are we doing here? This isn’t even an argument. It’s a settled fact based on the documentation alone. You’re trying to push a square before into a circle hole.

            • ruffsl@programming.devOP
              link
              fedilink
              English
              arrow-up
              6
              arrow-down
              1
              ·
              6 days ago

              What are we doing here? This isn’t even an argument.

              Correct, this isn’t an argument, or at least I’m not trying to argue.
              All I wanted to learn what exact properties you though makes for a better desktop OS.

              I’m in agreement that NixOS isn’t the best for mainstream desktop user base, but like any decent inquiry or survey, if I just preemptively bias someone’s responses with my own observations on NixOS defecenties, then there wouldn’t be as much of a case to before ask what they think other Linux Distro do better in the first place.

              Not everyone who strikes up a convo online for a debate, and not all (but quite a few) who ask questions are trolls.

                • ruffsl@programming.devOP
                  link
                  fedilink
                  English
                  arrow-up
                  5
                  arrow-down
                  1
                  ·
                  6 days ago

                  Well let me at least leave why I think Nix is not it at the moment:

                  • Software Center - browsing search.nixos.org isn’t quite the same in terms low friction and discoverability
                    • You already have to know what you’re looking for, and it can’t make system config on your behalf
                    • Debian or conventional package managers usually offer a native GUI for package selection and deployment
                  • System Defaults - the minimality of a basic default install can cause a lot of papercuts
                    • the default boot partition is rather small given the OS’s prepecity to add new kernels with new generations
                    • and without any garbage collection service enabled by default, user first encounter switch failures due to this
                  • External Binaries Compatibility - Linux also suffers from this in general as compared to MacOS or Windows
                    • in addition to being much more niche, reuse of existing binaries from more prevalent distros becomes complicated
                    • the desktop ISO could suggest a nix-ld config with default libs most binary distributes expect, easing in new users
                  • The Nix language - much more complex than conventional cong markup langs, being more of a turing complete DSL
                    • partial working LSP impare introspection while writing, and the runtime error messages are poorly formatted
                    • most desktop users (in debian or fedora) have little need to learn their OS’s packaging schemas, but NixOS users do
                  • just_another_person@lemmy.world
                    link
                    fedilink
                    arrow-up
                    2
                    arrow-down
                    9
                    ·
                    6 days ago

                    You’re speaking subjectively. Thays the first problem.

                    Nix was built for people like me who need a binary compatible build system to be replicable every single time, and present no false positives.

                    You’re just…talking about a way you can customize it. It’s a feature of major distro, you just didn’t know. Do some research 😘

        • hornedfiend@piefed.social
          link
          fedilink
          English
          arrow-up
          1
          ·
          5 days ago

          100% agree. I’ve tried NixOs with Home Manager for a couple of weeks and it’s very nice, however it not very useful to me and went back to Arch eventually. I just don’t see any benefit to using it over vanilla arch with Flatpak, Bubblewrap or Landlock, besides reproducibility.