Subject: Re: [PATCH] gnu: Add fastfetch.

From: Richard Sent <[email-masked]>
Date: Thu, 20 Jun 2024 14:34:07 -0400

Hi Dariqq

>> Sounds like yours is a lot more complete. I think it is best to merge
>> your version. What else is left to do?
>> 
>
> I would not really like hijacking the patch like this from you. But i'll 
> happily share what I have so far:

Gotcha. I'll try to spend some more time on this in the next couple
weeks, but feel free to claim it for yourself! After all, to me it feels
a lot more like I hijacked your patch than the other way around 🙂. No
hard feelings.

> my yyjson package:
>
> I am not sure where to put this? just c.scm? or somewhere else?
> In the debian package they also build html docs. Tried that but they 
> were not automatically installed with the standard phases and i am not 
> sure if they are worth it. (maybe in a seperate output?)

c.scm sounds like the right place to me. I'll keep the documentation
thing in mind.

> For fastfetch i am following the nixos package to enable everything but 
> mesa and directx. Also these are a lot of them  and with the wrapper 
> guix install fastfetch would need to also download all of the other 
> libraries. It would be great to create more modular packages for 
> something like this as enabling everything like this will e.g now always 
> pull in xfconf (only needed when using xfce), the x11/wayland libraries 
> even if one is on a headless server, etc. I guess that is a beneift for 
> dlopen but does not really work well on guix system.

I agree, I think this package would benefit from a -minimal version or
some similar structure with variants.

> network-manager

I wonder if adding the network-manager plugin can cause issues on
systems that don't use it. (e.g. connman). I'd be a little worried
they'd start fighting.

>> Is there anything I can help with?
>
> I have built with "-DBINARY_LINK_TYPE=dynamic" to dynamically link the 
> dependencies instead. There was an error due to fastfetch wanting a 
> newer version of ddcutil. Havent looked into how complicated that is to 
> update yet.
>
> On a related note dynamically linking would avoid the (kind of awkward) 
> wrapper. Are there benefits/downsides to using that instead?

I'm no expert but dynamic linking sounds like a better solution to me
than a wrapper + dlopen. Disabling runtime linking seems to be a
semi-common thing in packages. Maybe we'll get lucky and ddcutil can be
updated without any breakages.

> I hope the formating turned out ok for the code blocks

Looks great.

-- 
Take it easy,
Richard Sent
Making my computer weirder one commit at a time.