Hi Dale! On Tue, Feb 06 2024, Dale Mellor wrote: > There is no middle ground.
The nginx{,-upstream,-server}-configuration records have fields for {extra,raw}-content, which do allow arbitrary configuration lines to be added to their config. I think this is a sensible escape hatch to have to provide this middle ground. Andrew Tropin has done something interesting on the idea of more free-form configuration for nginx specifically[1], but I don't think that idea has found its way out of rde and into Guix yet. > I think that Guix taking the view of a configuration > file as a nested set of string-named blocks containing > lists of string-named, string-valued pairs would be an > intermediate level of abstraction more suited to the > Guix system configuration view of the world. This sounds quite similar to the way that Nix represents their internal configuration. Their model of configuring services is to have "Attribute Sets" (i.e. key/value mappings) which specify the configuration of services. Nix doesn't have service extension in the same way as Guix does, however, so interactions between different services look very different. We'd have to think carefully about how the Guix model of service extension would work with such an intermediate representation. Carlo [1]: https://fosstodon.org/@abcdw/110180191828598277