frozencow

@frozencow@lemmy.world
0 Post – 3 Comments
Joined 1 years ago

Nix with nix-output-monitor (nom). https://github.com/maralorn/nix-output-monitor

It shows the tree of packages to download and to build. It shortens the tree in realtime when packages have finished downloading/building and lengthens the tree when it finds more packages it needs to handle. Very fun and satisfying.

I haven't seen this in other package managers.

pip and venv are working, but packages that require compiling or ship binaries by itself usually won't work out of the box. They depend on gcc or libopenssl to be globally available: the whole gist of Nix not doing 😅

I've found devenv.sh to be most convenient way to handle such projects. You can define the dependencies for a project. It has explicit python/venv/requirements.txt/poetry support. It works for NixOS, but also other distros and MacOS. Very convenient to share and lock development tools and libraries across a team.

I don't know exactly how Repology works, but I was interested as well.

This holds what sources are being used for repology in Debian: https://github.com/repology/repology-updater/blob/master/repos.d/deb/debian.yaml This repository seems to be used to merge/split package names: https://github.com/repology/repology-rules

The packages of Debian are split into different subpackages (dev, lib, doc and its base). This happens for Nix as well, but packages there just have different outputs. For instance, openssl has as outputs: bin debug dev doc man out. I don't think repology counts those outputs, so it shouldn't count subpackages as well. I guess these rules are merging these together: https://github.com/repology/repology-rules/blob/master/800.renames-and-merges/openssl.yaml.