diff --git a/doc/guix.texi b/doc/guix.texi
index f4bdb6b211..86edc58b40 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -1976,8 +1976,7 @@ Application Setup
 
 @cindex name service switch, glibc
 @cindex NSS (name service switch), glibc
-@cindex nscd (name service caching daemon)
-@cindex name service caching daemon (nscd)
+@cindex @abbr{nscd, name service cache daemon}
 When using Guix on a foreign distro, we @emph{strongly recommend} that
 the system run the GNU C library's @dfn{name service cache daemon},
 @command{nscd}, which should be listening on the
@@ -18390,20 +18389,17 @@ Base Services
 @end table
 @end deftp
 
-@cindex name service cache daemon
-@cindex nscd
-@deffn {Scheme Procedure} nscd-service [@var{config}] [#:glibc glibc] @
-                [#:name-services '()]
-Return a service that runs the libc name service cache daemon (nscd) with the
-given @var{config}---an @code{<nscd-configuration>} object.  @xref{Name
-Service Switch}, for an example.
+@cindex @abbr{nscd, name service cache daemon}
+@defvar nscd-service-type
+Type of the service that runs the libc @abbr{nscd, name service cache
+daemon}, whose value is a @code{<nscd-configuration>} object.
 
 For convenience, the Shepherd service for nscd provides the following actions:
 
 @table @code
 @item invalidate
-@cindex cache invalidation, nscd
 @cindex nscd, cache invalidation
+@cindex cache invalidation, nscd
 This invalidate the given cache.  For instance, running:
 
 @example
@@ -18417,17 +18413,10 @@ Base Services
 Running @command{herd statistics nscd} displays information about nscd usage
 and caches.
 @end table
-
-@end deffn
-
-@defvar %nscd-default-configuration
-This is the default @code{<nscd-configuration>} value (see below) used
-by @code{nscd-service}.  It uses the caches defined by
-@code{%nscd-default-caches}; see below.
 @end defvar
 
 @deftp {Data Type} nscd-configuration
-This is the data type representing the name service cache daemon (nscd)
+Data type representing the @abbr{nscd, name service cache daemon}
 configuration.
 
 @table @asis
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index c5fd0cf5b4..423a38e39d 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -177,7 +177,7 @@ (define-module (gnu services base)
             mingetty-service-type
 
             %nscd-default-caches
-            %nscd-default-configuration
+            %nscd-default-configuration  ; deprecated
 
             nscd-configuration
             nscd-configuration?
@@ -186,7 +186,7 @@ (define-module (gnu services base)
             nscd-cache?
 
             nscd-service-type
-            nscd-service
+            nscd-service  ; deprecated
 
             syslog-configuration
             syslog-configuration?
@@ -1343,7 +1343,8 @@ (define %nscd-default-caches
                     (check-files? #t)             ;check /etc/services changes
                     (persistent? #t))))
 
-(define %nscd-default-configuration
+(define-deprecated %nscd-default-configuration
+  #f
   ;; Default nscd configuration.
   (nscd-configuration))
 
@@ -1497,13 +1498,14 @@ (define nscd-service-type
                            (name-services (append
                                            (nscd-configuration-name-services config)
                                            name-services)))))
-                (default-value %nscd-default-configuration)
+                (default-value (nscd-configuration))
                 (description
                  "Runs libc's @dfn{name service cache daemon} (nscd) with the
 given configuration---an @code{<nscd-configuration>} object.  @xref{Name
 Service Switch}, for an example.")))
 
-(define* (nscd-service #:optional (config %nscd-default-configuration))
+(define-deprecated (nscd-service #:optional (config (nscd-configuration)))
+  nscd-service-type
   "Return a service that runs libc's name service cache daemon (nscd) with the
 given @var{config}---an @code{<nscd-configuration>} object.  @xref{Name
 Service Switch}, for an example."
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 1b05a862c6..f7de0d6a09 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -426,8 +426,9 @@ (define* (%installation-services #:key (system (or (and=>
 
            ;; Since this is running on a USB stick with a overlayfs as the root
            ;; file system, use an appropriate cache configuration.
-           (nscd-service (nscd-configuration
-                          (caches %nscd-minimal-caches)))
+           (service nscd-service-type
+                    (nscd-configuration
+                     (caches %nscd-minimal-caches)))
 
            ;; Having /bin/sh is a good idea.  In particular it allows Tramp
            ;; connections to this system to work.
