When comparing GNU Guix vs XBPS, the Slant community recommends XBPS for most people. In the question“What are the best Linux package managers?” XBPS is ranked 7th while GNU Guix is ranked 16th.
Ranked in these QuestionsQuestion Ranking
Pro Can setup a shell which has exactly the defined libraries available
A method which works across languages and provides a reproducible programming environment.
Pro Can create independent packages
Guix pack creates packages which do not need Guix to be run
Pro No side effects when building packages
Guix is a purely functional package management system. This means that the act of building a package does not have side effects, such as destructively updating or deleting files that may be used by other packages.
Pro Can always roll back to a safe state
Guix creates new profile generations for each operation. If anything goes wrong, a simple --roll-back gets you immediately back to the previous, working, generation. Because it is a purely functional package management system, generations don't affect each other, so you're back to the exact same state as before : still working.
Pro Can build containers right-away, from docker to tarballs
see guix pack --help and https://www.gnu.org/software/guix/blog/2018/tarballs-the-ultimate-container-image-format/
Pro Extremely fast
Pro Can Detect Incompatibilities
XBPS can detect incompatible shared libraries or dependencies and gives you options before installing.
Pro Can Install Binaries or Build From Source
When installing software you can choose to install binaries or build it from source (natively or cross-compiled).
Pro Written from scratch
Pro Lots of features
XBPS can not only be used for installing/removing packages, but it can query for package info (such as version, dependencies, size etc), reconfigure packages, report and fix issues by modifying the package database, search for alternatives, manage local repositories and various other useful tools.
Con Cannot handle filetypes that have different semantics across different versions
While the functional approach that Guix takes is great for sandboxing binary artifacts of packages, it seriously lacks any power in handling configuration files or user data. It's difficult to upgrade and downgrade files where semantics and syntax can change between versions.
Con Not just one command to run
It's not a very big drawback, just not as convenient as one command with multiple options to remove and search for apps.