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.

  • GHOSCHT
    link
    fedilink
    34 months ago

    Nixpkgs can be used without knowing anything about nix. You can install almost anything by just running e.g.:

    nix-shell -p cowsay
    

    The requirement for that is the nix package manager but that should be easy to install. But yeah getting into Nixos with flakes and all that stuff can be hard.

    • @[email protected]
      link
      fedilink
      14 months ago

      So I can in theory just do apt install nix-shell (or whatever), do something like nix-shell -p curl and then curl just works?

      • GHOSCHT
        link
        fedilink
        3
        edit-2
        4 months ago

        Pretty much, yes. Although most of the guides install nix via curl. You can find the recommended installation procedure on the official nix website.

        What I’m right now also realizing is that i switched things up. nix-shell -p curl creates a shell with the curl command temporarily available. If you exit this shell it’s gone. I use this all the time if if i don’t want to pollute my system with programs I only use once. If you want to permanently install something you have to use nix-env -iA nixpkgs.curl. But don’t take my words for granted, since I have never tested this on a non-nixos machine.

        Note: You can also see how to install something by clicking on the package title in the nixpkgs repo.