$ ./pre-inst-env guile scheme@(guile-user)> (use-modules (guix build-system ruby) (gnu packages) (guix packages)) scheme@(guile-user)> (fold-packages (lambda (package result) (if (eq? (package-build-system package) ruby-build-system) (cons (package-name package) result) result)) '())
(fold-service-types (lambda (s r) (cons (service-type-name s) r)) '())
For a given service type, eg connman-service-type
, you can get its extensions:
(service-type-extensions connman-service-type)
These do not have names or much human-readable metadata, but the targets are service-types which have names, so that may be more helpful:
(map (compose service-type-name service-extension-target)
(service-type-extensions connman-service-type))
This is much more readable.