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’.
