On 2021-12-11 14:57, Josselin Poiret wrote: > I think this is pretty approachable, especially given the fact that you > don't need to write the whole service from scratch. > > All of the following takes place in gnu/services/desktop.scm: the > options given to the service via the bluetooth-configuration record end > up being inserted into the gexp that the bluetooth-directory procedure > returns, which is itself used to build the actual /etc/bluetooth/ > directory for the system (see "G-Expressions" in the manual if you want > more info about gexps, although you won't need to manipulate them for > this). The contents of the main.conf file are generated with the > bluetooth-configuration-file procedure, which contains only basic string > manipulation. > > So, in order to add new options to the bluetooth service, > you would need to only modify the bluetooth-configuration record to add > them, with proper defaults, as well as add the relevant lines in > bluetooth-configuration-file. As to testing, you could simply run `guix > system build some-test-system-conf.scm` and check that the resulting > /gnu/store/xxxx-system/etc/bluetooth/ folder contains the proper > configuration file. Ideally, you would also test if the features > themselves end up working properly, but I am hopeful that bluetoothd > will handle them just as well. > > Good luck! > > Best, > Josselin Poiret Hello Josselin, I should have been more clear with my last message. Indeed I would be able to add the additional config values to the service. I haven't done so because I was told in order to get a service merged into Guix, one has to provide a "test marionette" (I don't even know what that is since it's not documented in the manual). That's what was holding me back. But if that's not the case I'll gladly submit a patch in the upcoming days. -- Best regards / Mit freundlichen Grüßen, Demis Balbach