- With both the community-maintained packages and the AUR packages, you can already find almost any binary that already exists
- If it doesn't exist, or if you need particular options/architectures, a PKGBUILD is basically a glorified Makefile with standard steps, so you can for example get binaries from a http source and use them directly, or pass exotic compilation flags during the build() phase
- It is of course possible to put dependencies inside a given package
- preparing a package is entirely done by your user, no need for root right. Inside the package you put your files in a fake root, and when the package is done you apply the package to your real fs. By default it is installed under /, so of course you need root rights, but you can install it under any root you desire. This is actually what's done when installing Arch: it basically runs pacman (the package manager) but instead of installing packages in the live environment's root, it installs packages in the mounted filesystem that will become your root after rebooting.
https://github.com/archlinux/archlinux-repro/pull/70
Maybe a weekend hack to wrap `makepkg` with this.
Nix has better cross-compilation support is a little bit better than its native support, in terms of cross-platform coverage. But even then, I think, pkgsrc's platform coverage is in a different league. :)
Do you have more information?
> Nix is currently supported on the following platforms:
> - Linux (i686, x86_64, aarch64).
> - macOS (x86_64).
sh install-nix-2.3.10 install-nix-2.3.10: sorry, there is no binary distribution of Nix for your platform
What platform are you hoping to build Nix on?
1) have good availability of pre-built binary packages for most platforms
2) facilitate building of packages directly from source, whether on non-mainstream platforms / architectures, and / or with or for the purpose of non-default package options
3) unprivileged builds / installations, packages rooted anywhere in filesystem, completely self-contained dependencies
Having to use more than one package management system because one or the other doesn't do one of these things can be a real pain, and can make maintenance rather difficult.