Subject: bug#53719: Guix lacks ability to customize guix package that gets installed as part of main guix channel

From: Gordon Quad <[email-masked]>
Date: Wed, 2 Feb 2022 11:09:45 +0000

According to configure.ac script in guix repo guile-avahi dependency is
optional, and guix package definition has cross-compilation exceptions
for guile-avahi, meaning guix surely can be built without it.

However those checks are hardcoded and there is no way of specifying
that I want to build guix w/o guile-avahi if I am just doing a mere guix pull.

I can make my own package definition for guix by inheriting guix package
and remove guile-avahi dependency but there is no way to supply that
package definition instead of original guix for guix pull.

Moreover there is no simple way to customize guix by doing guix fork
since all the commits are authenticated, which means I either have to
give up authentication completely not only for guix channel but for every
other channel by doing guix pull --disable-authentication or I have to
re-sign every single commit in my local guix repo fork.

I understand that it is part of security model but it is also a
significant obstacle for intent of utilizing the ability to turn
optional dependency off and not have bunch of extra stuff installed on
my system that I don't need.

Perhaps there should be another mechanism for customizing guix from guix
channel?