On 2023-10-13 18:05, Ludovic Courtès wrote: > Hi Andrew, > > Andrew Tropin skribis: > >> We have >> >> (extensions >> (list (service-extension account-service-type >> (const %dicod-accounts)) >> (service-extension shepherd-root-service-type >> dicod-shepherd-service))) >> >> >> We can do >> >> (home-environment >> (services >> (list (service dicod-service-type))) >> (service-mapping >> `((,shepherd-root-service-type . ,home-shepherd-service-type) >> (,account-service-type . ,ignore-service-type)))) > > As a user writing the ‘home-environment’ declaration, I don’t want to > know whether a Home service is implemented by mapping a System service > to Home, or whether it’s a fully separate implementation. > > To me, users shouldn’t have to specify service mappings at all; service > mapping is a tool at the disposal of service writers. > >> Now you can use the same service type and configuration record in >> both operating-system and home-environment and use/ignore/interpret the >> configuration fields values based on the environment we are building >> this thing for. >> >> Of course service-mapping default value can be generated upfront and >> stored in %guix-home-service-mapping or something like that. >> >> This way we will get rid of almost all home- services and related >> configurations. >> >> Keep in mind that it's a raw idea, not a well-designed solution yet. > > The good thing is that we seem to agree on the general idea of having a > way to map System services to Home. > > My take is that the mapping is an implementation detail that users do > not need to be aware of. > >> The reason I'm suggesting to revert this patch series is because it >> feels to me as a partial solution on the wrong level of abstraction, >> which cures the symptoms and also introduces shortcomings and >> potentially makes it harder to introduce a proper solution in the >> future. > > I disagree with this assessment. > >> If this problem is urgent/demanding for you, please invite me for >> working or collaborating on the solution explicitly, I plan work on it >> anyway, but probably not earlier than the next year. I catched this >> thread accidentially BTW, thanks to 宋文武 for CCing me. > > This problem has been discussed pretty much since Home was merged in > Guix¹; we’ve all had ample time to think about it and to my knowledge > this patch series is the only proposal that was ever brought. > > I’ll close this bug for clarity. I remain open to discussion on the > implementation of System -> Home service mapping. I think further > discussion should happen in the context of incremental changes to the > implementation of that mapping mechanism, in a dedicated issue. 👌 -- Best regards, Andrew Tropin