Distro agnostic packages like flatpaks and appimages have become extremely popular over the past few years, yet they seem to get a lot of dirt thrown on them because they are super bloated (since they bring all their dependencies with them).

NixPkgs are also distro agnostic, but they are about as light as regular system packages (.deb/.rpm/.PKG) all the while having an impressive 80 000 packages in their repos.

I don’t get why more people aren’t using them, sure they do need some tweaking but so do flatpaks, my main theory is that there are no graphical installer for them and the CLI installer is lacking (no progress bar, no ETA, strange syntax) I’m also scared that there is a downside to them I dont know about.

  • Shareni@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    10 months ago
    1. As you can see from the state of this thread, people see nix or nixpkgs but read nixos. There’s no momentum from the community to push it as an extra package manager, while every thread is spammed with nixos.

    2. No gui integrations for casuals. For example Discover integrates flatpaks and snaps, but for nix you need to use the terminal.

    3. The documentation is abysmal. I spent days trying to figure out how to use nix as a declarative package manager before I accidentally came across home-manager. Even the manual leads you down the wrong path. A quick start guide with a few examples for home-manager and flakes, and a few basic commands, would’ve had me going in 5 minutes. That problem is made worse by the fact that almost all sources of info focus on nixos instead.

    Edit:

    if anyone’s interested in trying it out, here’s a part of my other comment in this thread

    It’s just a list of packages, and an optional flake to control the repositories (stable/unstable) and add packages from outside of the official ones.

    To update everything nix related I just run:

    cd ~/dotfiles/nix/ && nix flake update && home-manager switch

  • wiki_me@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    Part of the reason is that people are still finding out about it, Project has no marketing so it grows organically, in the last year the number of contributors grew by 25 percent.

    Another problem is that it still needs polish in term of ease of use, for example it takes me forever to search for packages using the nix-env command but using the website it takes less then a second, That’s a basic feature that still does not work correct, Plus their documentation is still not great in my opinion, I actually helped improved it and the improvement they made is still not really good IMO.

    • moonpiedumplings@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      10 months ago

      It’s cause you’re not actually supposed to use nix-env: https://stop-using-nix-env.privatevoid.net/

      You’re actually supposed to be using nix search nixpkgs#packagename to search and nix profile install nixpkgs#packagename to install.

      However, to use both of those, you need to have the “experimental” (not really though, most of the community uses them) features of nix-command and nix flakes enabled, which they aren’t by default.

      And of course, nowhere on the main documentation did I find any if that, I only found it via the pain of using it wrong, and forum posts.

      Nix’s documentation is horrific. I’ve had situations where I only got help via discord…

    • root@precious.net
      link
      fedilink
      arrow-up
      0
      ·
      10 months ago

      Of the future? They’re a duplicate of what Apple was doing with software as far back as the mid 90s.

      Every ounce of performance we squeeze out of our hardware is replaced with pounds of bloat like this.

      It’s fine for a utility or something you’ll hardly ever need to use, but running every day software like this is a complete waste.

          • Shareni@programming.dev
            link
            fedilink
            arrow-up
            1
            ·
            10 months ago

            Rollback, reproducibility, safety.

            Would you call btrfs snapshots or some other backup system bloat?

            It actually serves an important purpose for the user. Meanwhile apt is leaving around random libraries and man pages you need to autoremove.

          • AgileLizard@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            10 months ago

            The garbage collector removes all packages/derivations that are not (transitively) used any more. So it is similar to apt-get autoremove. I don’t think that classifies as bloat. You could just regularly run the garbage collector.

      • excitingburp@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        10 months ago

        What do you mean? Apple doesn’t have a package manager at all. Brew is a fucking mess that takes ages to do anything.

  • corsicanguppy@lemmy.ca
    link
    fedilink
    arrow-up
    0
    ·
    10 months ago

    Because nixPKGs have the same Single-Source of Truth wrecking problems as flatpaks and appimages and all that junk.

    There’s only so much room in the ecosystem for best-practice-violating product, and systemd takes up a lot of that. And until systemd collapses under the weight of doing a thousand things poorly for all the wrong reasons and delivering on none of its brochure features, the other entrants have to wait outside.

    • Cris@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      10 months ago

      As a largely non-technical linux enjoyer I have such a hard time understanding why people hate systemd so much. If I switched to a distro that uses another init system would my experience be better?

      Like I get that the complaint is partially the philosophy, but it sounds like you also have problems with it in practice and I just can’t really relate to that. I dunno, maybe I just wouldn’t notice if there are problems happening with how my init system is working 🤷