raingloom <raingl...@riseup.net> writes:
> I have an operating-system called bingobongo. I have another called > greg that inherits the bingobongo config. If I leave the services field > empty in greg, there is no issue. If I define it as > (operating-system-services bingobongo) then all hell breaks loose and I > get the aforementioned error and no amount of filtering seems to fix it > becaues then I get the same error but with "profile" instead of > shepherd-root. This is not a very clear report. What filtering leads to a “profile” error? > Now, I don't know what causes this, whether it's a Guix issue or > Guile's record system being... well... kind of terrible No, Guile’s records are fine. “Terrible” is a strong word for a wild guess. The issue here is likely that operating-system-services returns all services, including those that are added by the operating system machinery. Since your new operating system would run that same machinery to add root services to the graph you’ll end up with some duplicates. If this is in fact the case then the fix is to either make those root services explicit (meh), or to let operating-system-services return only explicitly listed services, or to add another procedure (or a keyword argument ot operating-system-services) that lets users specify the depth of the result set. -- Ricardo