On Wed, 02 Apr 2025 23:46:51 +0800, Rutherther wrote: > > > Hello Hilton, > > Hilton Chain <hako@ultrarare.space> writes: > > > > > 2. Need of manually exposing interfaces. e.g. those from shepherd-service. > > > > I feel like this has been a topic mentioned multiple times in the last > few weeks on this mailing list. Here I have e-mail from Carlo Zancanaro > in mind, "Configuring shepherd services belonging to system services" (I > don't know how to 'mention' e-mails in a good way, if you have tips, > please do share them), > where also this patch https://issues.guix.gnu.org/27155 has been > mentioned. > > I think it's a pity we don't have a generic solution merged yet, > especially given the patch that is 8 years old and Ludo mentions in it > "It was long overdue.", I agree. > The general finalizer approach would allow for exposing further > procedures that would alter the services after they are made, things > like this would become possible to do easily and we could build on it > further, functions like '(finalize-shepherd-service "service" (lambda > (config) (.. (inherit (config)))))' and more specific ones like > (shepherd-override-auto-start? #f)'. > > Regards, > Rutherther
What I want is to have a consistent configuration interface, this is what currently in my mind, it's not conflict with the finalizer approach. But I haven't got time to implemented it yet. --8<---------------cut here---------------start------------->8--- (iwd-configuration (alist-config `(;; Interface for Guix services, shepherd, postgresql-role, user etc. (shepherd . ((iwd . ((provision . (networking iwd)) (requirement . ()) (auto-start? . #f))))) ;; For serializers. (config . ((iwd . ((General . ((EnableNetworkConfiguration . #t) (ControlPortOverNL80211 . #t))) (Network . ((EnableIPv6 . #t)))))))))) --8<---------------cut here---------------end--------------->8---