|
Internal data model and command UI is a lot like
one of sys-apps/nix.
Package description mechanism is a bit different
in both surface syntax (guile vs nix expression language)
and evaluation method (compiled versus lazy loaded configs)
guix (as well as nix) is a source-based package manager with
strong support for binary packages. It uses multiple tricks
to make package source dependencies robust:
- guix installs every package into it's own --prefix=.
Example: /gnu/store/6np03bm99hg7gprcwmzpbpaj00cka8p8-icecat-45.5.1-gnu1
- guix builds packages with PATH (and similar) only including explicitly
listed depends. This eliminates automagic dependency.
- guix tracks full environment where package was built.
Once environment changes new package needs to be built.
That's how you install firef^Wicecat just for your current user:
$ guix package --install icecat
Package-Manager: Portage-2.3.3, Repoman-2.3.1
|