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
    5 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
    ·
    5 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
      ·
      5 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…

  • Adanisi@lemmy.zip
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    5 months ago

    I’m going to go against the grain and say that the Nix and Guix package managers are very good, but they really belong in their respective distros where they’re a core part of the system. That’d be Guix System for Guix and NixOS for Nix.

    They may have advantages for a foreign distro too, but they are lesser (Guix System can boot into a backup of the system before the last update, for example, but that advantage doesn’t exist on, say, Debian.

    Also, can we agree to not recommend these systems to new users for the time being? While they’re very powerful, they’re absolutely designed for power users, and until they’re more polished and they have fancy GUIs and stuff for installation and package management, I think it’d be best to keep recommending normal distros like Debian for now.

  • corsicanguppy@lemmy.ca
    link
    fedilink
    arrow-up
    0
    ·
    5 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
      ·
      5 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 🤷

  • velox_vulnus@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    5 months ago

    TL:DR; they’re the package managers of the future, and I shill for them, but they’re still buggy in some areas.

    Guix and Nix user here. For all I can shill about store-based file hierarchy, ephemeral environment isn’t perfect yet in both of these apps, at least from a GUI application perspective. It’s a bug that I’ve found in Nix, but that should also reflect in Guix. Basically, what’s happening here is that due to some impurity in the environment, it uses libraries from the system instead, and apps may stop working. This is a very serious issue, and is directly related to what you’re talking about. This problem hides itself when using GuixSD in Guix or NixOS in Nix, but in other foreign distro that have dated libraries, it is very much visible, and you’ll be forced to use outdated channels.

    • root@precious.net
      cake
      link
      fedilink
      arrow-up
      0
      ·
      5 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.

          • AgileLizard@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            5 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.

          • Shareni@programming.dev
            link
            fedilink
            arrow-up
            1
            ·
            5 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.

      • excitingburp@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        5 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.