Hacker News new | ask | show | jobs
by rahen 1274 days ago
> In addition to what the other replies mentioned, it's also possible to fall back to other methods like flatpak or a container

That, or simply using pkgsrc.

It also provides versioning and decoupling from the system, but also has the benefits of working on any Unix and to be predictably updated. It's also far more KISS than any aforementioned solution.

The only real downside is the build time, as pkgsrc is more or less a managed federation of Makefiles. Installing software can take more time than would solutions based on binary packages, but it's totally worth it for the technical simplicity it brings to reproducible userlands.

2 comments

> The only real downside is the build time, as pkgsrc is more or less a managed federation of Makefiles. Installing software can take more time than would solutions based on binary packages, but it's totally worth it for the technical simplicity it brings to reproducible userlands.

I always install Pkgsrc via Joyent's installers¹, and use `pkgin` to perform package installs. Most packagws thsn install from binaries. Seema to work pretty well!

I still mostly stick to Nix, but I highly recommend Pkgsrc over Homebrew/Linuxbrew. It plays nice with other package managers and is generally well-behaved. Not a bad escape hatch for Nix if you feel like you need one.

--

1: https://pkgsrc.joyent.com/

Arguably, Nixpkgs is also just a managed collection of (Nix) build recipes :) Except that due to mandatory reproducibility, it’s both more complicated and more amenable to caching of build artifacts (on Nix “substituters” ex “binary caches”).