Hi Edouard, Edouard Klein writes: > #+begin_src scheme > (-> > (minimal-ovh "ssh-rsa AAASomethingSomething== root@minimal-ovh") > (http-static-content "sub2.example.com" #:to-dir "/srv/sub2") > (http-static-content "sub1.example.com" #:to-dir "/srv/sub1/") > (add-services my-db)) > #+end_src > > The code of the function is on my channel: > https://gitlab.com/edouardklein/guix/-/blob/beaverlabs/beaver/system.scm > > After a few months of experience, and positive feedback from my clients, > my question to you guys is: would you be interested in mainlining this, > or should I keep my development efforts separate in my channel ? I am quite in favor of using operating-system transformations rather than inheritance, because they're composable! This could be leveraged to get a nice CLI API as well. > I do think this API is easier than manipulating services, and although > extendable services are awesome and a very nifty piece of engineering, > they require quite a good knowledge of scheme and take a while to be > used to, while this new API, while way less powerful, lowers the barrier > to entry for newcomers. By this, do you mean that there's no way with your syntax to modify a given service? Is there a reason for this? It does seem to me that it could probably be done. > They are an easy way to maintain a declarative whole operating system > configuration, with a syntax similar enough to docker and ansible that > sysadmins familiar with it can quickly get up and running, thus exposing > more people to Guix. > > What do you think ? You've got me interested :) especially since you already have customer feedback! Best, -- Josselin Poiret