Subject: bug#44327: `guix install` doesn't warn about collison in profile

From: Ludovic Courtès <[email-masked]>
Date: Wed, 04 Nov 2020 18:15:48 +0100

Zhu Zihao <[email-masked]> skribis:

>> > I also suggest to raise an error when conflict detected during building
>> > profile to force user to resolve it.
>
>> It should be already the case. :-)
>
> IIRC the deafult collision handler of union-build is
> warn-about-collision which doesn't terminate the build when collision
> occured.

We’re talking about different things.  Whatever happens during
‘union-build’ happens too late and won’t lead to user-friendly errors.

I was referring to the mechanism implemented a while back and submitted
here:

  https://issues.guix.gnu.org/27271

> BTW, There's something called "priority" in Nix. The package with higher
> priority in manifest will be able to override the package with lower one. 

My experience with it (from 8+ years ago, though) is that it was
inconvenient and not natural—as a user you don’t want to ask yourself
which package should have the highest priority, you just want to have
these things installed.

The approach we took is to error out, with a clear diagnostic, when Guix
knows beforehand that two packages cannot coexist in the same profile.

Thanks,
Ludo’.