diff --git a/doc/guix.texi b/doc/guix.texi
index 05615b9549..b85bef40c1 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -23141,24 +23141,37 @@ Desktop Services
 provided by @code{(gnu services dbus)} and @code{(gnu services desktop)}
 are described below.
 
-@deffn {Scheme Procedure} dbus-service [#:dbus @var{dbus}] [#:services '()] @
-                                       [#:verbose?]
-Return a service that runs the ``system bus'', using @var{dbus}, with
-support for @var{services}.  When @var{verbose?} is true, it causes the
-@samp{DBUS_VERBOSE} environment variable to be set to @samp{1}; a
-verbose-enabled D-Bus package such as @code{dbus-verbose} should be
-provided as @var{dbus} in this scenario.  The verbose output is logged
-to @file{/var/log/dbus-daemon.log}.
-
-@uref{https://dbus.freedesktop.org/, D-Bus} is an inter-process communication
-facility.  Its system bus is used to allow system services to communicate
-and to be notified of system-wide events.
-
-@var{services} must be a list of packages that provide an
-@file{etc/dbus-1/system.d} directory containing additional D-Bus configuration
-and policy files.  For example, to allow avahi-daemon to use the system bus,
-@var{services} must be equal to @code{(list avahi)}.
-@end deffn
+@defvar dbus-root-service-type
+Type for a service that runs the D-Bus ``system bus''.
+@footnote{@uref{https://dbus.freedesktop.org/, D-Bus} is an inter-process
+communication facility.  Its system bus is used to allow system services
+to communicate and to be notified of system-wide events.}
+
+The value for this service type is a @code{<dbus-configuration>} record.
+@end defvar
+
+@deftp {Data Type} dbus-configuration
+Data type representing the configuration for @code{dbus-root-service-type}.
+
+@table @asis
+@item @code{dbus} (default: @code{dbus}) (type: file-like)
+Package object for dbus.
+
+@item @code{services} (default: @code{()}) (type: list)
+List of packages that provide an @file{etc/dbus-1/system.d} directory
+containing additional D-Bus configuration and policy files.
+For example, to allow avahi-daemon to use the system bus, @var{services}
+must be equal to @code{(list avahi)}.
+
+@item @code{verbose?} (default: @code{#f}) (type: boolean)
+When @code{#t}, D-Bus is launched with environment variable
+@samp{DBUS_VERBOSE} set to @samp{1}.  A verbose-enabled D-Bus package
+such as @code{dbus-verbose} should be provided to @var{dbus} in this
+scenario. The verbose output is logged to
+@file{/var/log/dbus-daemon.log}.
+
+@end table
+@end deftp
 
 @deffn {Scheme Procedure} elogind-service [#:config @var{config}]
 Return a service that runs the @code{elogind} login and
diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm
index 5efd6bdadf..c08a91221f 100644
--- a/gnu/services/dbus.scm
+++ b/gnu/services/dbus.scm
@@ -28,6 +28,7 @@ (define-module (gnu services dbus)
   #:use-module ((gnu packages glib) #:select (dbus))
   #:use-module (gnu packages polkit)
   #:use-module (gnu packages admin)
+  #:use-module (guix deprecation)
   #:use-module (guix gexp)
   #:use-module ((guix packages) #:select (package-name))
   #:use-module (guix records)
@@ -37,7 +38,7 @@ (define-module (gnu services dbus)
   #:export (dbus-configuration
             dbus-configuration?
             dbus-root-service-type
-            dbus-service
+            dbus-service  ; deprecated
             wrapped-dbus-service
 
             polkit-configuration
@@ -244,7 +245,8 @@ (define dbus-root-service-type
 bus.  It allows programs and daemons to communicate and is also responsible
 for spawning (@dfn{activating}) D-Bus services on demand.")))
 
-(define* (dbus-service #:key (dbus dbus) (services '()) verbose?)
+(define-deprecated (dbus-service #:key (dbus dbus) (services '()) verbose?)
+  dbus-root-service-type
   "Return a service that runs the \"system bus\", using @var{dbus}, with
 support for @var{services}.  When @var{verbose?} is true, it causes the
 @samp{DBUS_VERBOSE} environment variable to be set to @samp{1}; a
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index fe1f0fd20a..0d3de32be6 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -1804,7 +1804,7 @@ (define* (desktop-services-for-system #:optional
          (geoclue-service)
          (service polkit-service-type)
          (elogind-service)
-         (dbus-service)
+         (service dbus-root-service-type)
 
          (service ntp-service-type)
 
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index b3cf7a1bd8..77ef577fd2 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -437,7 +437,7 @@ (define* (%installation-services #:key (system (or (and=>
                     (list %loopback-static-networking))
 
            (service wpa-supplicant-service-type)
-           (dbus-service)
+           (service dbus-root-service-type)
            (service connman-service-type
                     (connman-configuration
                      (disable-vpn? #t)))
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index 3e72e193d7..97edbbc6ad 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -962,7 +962,7 @@ (define %avahi-os
     (name-service-switch %mdns-host-lookup-nss)
     (services (cons* (service avahi-service-type
                               (avahi-configuration (debug? #t)))
-                     (dbus-service)
+                     (service dbus-root-service-type)
                      (service dhcp-client-service-type) ;needed for multicast
 
                      ;; Enable heavyweight debugging output.
diff --git a/gnu/tests/docker.scm b/gnu/tests/docker.scm
index 4267ff89a8..37946b2fbc 100644
--- a/gnu/tests/docker.scm
+++ b/gnu/tests/docker.scm
@@ -48,7 +48,7 @@ (define-module (gnu tests docker)
 (define %docker-os
   (simple-operating-system
    (service dhcp-client-service-type)
-   (dbus-service)
+   (service dbus-root-service-type)
    (polkit-service)
    (service elogind-service-type)
    (service docker-service-type)))
diff --git a/gnu/tests/lightdm.scm b/gnu/tests/lightdm.scm
index 57d029a75a..74c7b118a5 100644
--- a/gnu/tests/lightdm.scm
+++ b/gnu/tests/lightdm.scm
@@ -49,7 +49,7 @@ (define minimal-desktop-services
         (accountsservice-service)
         (service polkit-service-type)
         (elogind-service)
-        (dbus-service)
+        (service dbus-root-service-type)
         x11-socket-directory-service))
 
 (define %lightdm-os
diff --git a/gnu/tests/virtualization.scm b/gnu/tests/virtualization.scm
index 60789fbb5b..9fe23aeeac 100644
--- a/gnu/tests/virtualization.scm
+++ b/gnu/tests/virtualization.scm
@@ -49,7 +49,7 @@ (define-module (gnu tests virtualization)
 (define %libvirt-os
   (simple-operating-system
    (service dhcp-client-service-type)
-   (dbus-service)
+   (service dbus-root-service-type)
    (polkit-service)
    (service libvirt-service-type)))
 
