On Mon, Jun 12, 2023 at 08:58:18AM +0400, Andrew Tropin wrote: > > A few years ago, when we were implementing the first version of ssh home > service in rde we went a slightly different way and didn't hardcode any > record fields and let user set an alist of key/value pairs: > https://git.sr.ht/~abcdw/rde/tree/19c2d2f0996624eea8b7a87b14bbc31e4a9b943b/src/gnu/home-services/ssh.scm#L204 > > It's not a perfect solution either, but quite flexible. Also, it's > relatively easy to implement default values: we can provide > %default-host-options and ask people to do something like this on user > side configuration: > > (merge %default-host-options '((compression . #f))) > > Of course "asking people" won't work, so it's possible to set a default > value of options field to %default-host-options > https://git.sr.ht/~abcdw/rde/tree/19c2d2f0996624eea8b7a87b14bbc31e4a9b943b/src/gnu/home-services/ssh.scm#L100 > and let people override it with '((compression . #f)) or enrich with > (merge %default-host-options '((compression . #f))). > > It's not a proposal or something, just sharing how it's implemented in > rde. I'm still undecided about the alist as a comparison. It would make it easier to add arbitrary fields, but then I feel like maybe we should be adding something to validate the configurations. > P.S. Note that (gnu home-services *) modules are subject to deprecation > and when (rde home services ssh) appear, it will have a slightly > different interface. I went ahead and pushed the patch. I believe that, after having added to a .ssh/config file over a period of time, line by line or entry by entry, people will be surprised to see a bunch of fields filled in automatically, and with different results from what they had before. -- Efraim Flashner רנשלפ םירפא GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted