Hi,

Carlo Zancanaro <[email protected]> skribis:

> On Fri, Oct 24 2025, Ludovic Courtès wrote:
>> Yes, that and general convenience.  For instance, I find it nice to be
>> able to factorize bits of nginx or ‘home-openssh-configuration’ using
>> the familiar Scheme mechanisms: procedures, variables, etc.
>
> Does this need to live in the service itself? I agree this is nice to
> have, but I think it makes services themselves unnecessarily complex.

Creating those configuration bindings is work (sometimes a lot of work),
but it’s not “complex”.

Also, often, we create bindings for the most commonly-used options and
provide an “escape hatch” for everything else (where one can write raw
configuration).  That is a reasonable compromise in many cases.

> We can then also provide differing levels of help for assembling
> configuration files. From "use this file/string as the config file", to
> "convert these lists/atoms to an ini/json/whatever file", to "construct
> a config file specifically for this service with these options".

Yes, definitely; most services already support that, at least via an
escape hatch.

>> [...] In my ideal vision of making system configuration approachable to all,
>> not just experts, I think it even plays a crucial role.
>
> Out of interest, do you think we are achieving this with our current
> approach?

I’m biased :-) but yes, I think so, to a large extent.

> I think we're getting the worst of both worlds at the moment. Getting a
> service to work requires understanding the upstream software and its
> options, as well as knowing how to express those options in Guix's
> configuration language. I think this might marginally improve things for
> Guix experts, but I doubt it's helpful for non-experts, and I think it
> makes things harder for experts of the upstream software.

Perhaps it depends on the service, but at least for those I use on
System and Home, I feel like the Guix doc and bindings are enough to get
me started.  But then again, I’m biased because I have a long experience
so in practice I do know most of the services I’m using.

The real test would be putting this in the hands of newcomers, people
with little or no experience with GNU/Linux sysadmin, in a way similar
to Yunohost.  (My dream project is to use Guix as a vehicle for popular
education, to teach about systems and free software and programming to
non-experts.)

Thanks,
Ludo’.

Reply via email to