Subject: Re: bug#60498: [PATCH] home: services: fontutils: Add service value.

From: Ludovic Courtès <[email-masked]>
Date: Tue, 31 Jan 2023 23:06:03 +0100

Hi Giacomo,

Giacomo Leidi <[email-masked]> skribis:

> * gnu/home/services/fontutils.scm (add-fontconfig-config-file): Add
> support for multiple paths;
> (home-fontconfig-service-type): Honor it;
> * doc/guix.texi (Fonts Services): Document it.

Applied with the cosmetic changes below.

Thanks!

Ludo’.

diff --git a/doc/guix.texi b/doc/guix.texi
index f72deb3222..64873db00b 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -42015,29 +42015,34 @@ A typical extension for adding a channel might look like this:
 @end lisp
 @end defvar
 
-@node Fonts Services
+@node Fonts Home Services
 @subsection Fonts Home Services
 
 The @code{(gnu home services fontutils)} module provides services for
-user-specific @code{fontconfig} setup.
+user-specific Fontconfig setup.  The
+@uref{https://www.freedesktop.org/wiki/Software/fontconfig,Fontconfig}
+library is used by many applications to access fonts on the system.
 
-@defvr {Scheme Variable} home-fontconfig-service-type
-This is the service type for generating configurations for @code{fontconfig} and @code{fc-*} utilities.
-Its associated value is a list of strings (or gexps) pointing to fonts locations.
+@defvar home-fontconfig-service-type
+This is the service type for generating configurations for Fontconfig.
+Its associated value is a list of strings (or gexps) pointing to fonts
+locations.
 
 Generally, it is better to extend this service than to directly
 configure it, as its default value is the default Guix Home's profile
-font installation path (@code{~/.guix-home/profile/share/fonts}).  If you configure this
-service directly, be sure to include the above path.
+font installation path (@file{~/.guix-home/profile/share/fonts}).  If
+you configure this service directly, be sure to include the above
+directory.
 
-A typical extension for adding an additional path might look like this:
+A typical extension for adding an additional font directory might look
+like this:
 
 @lisp
 (simple-service 'additional-fonts-service
                 home-fontconfig-service-type
                 (list "~/.nix-profile/share/fonts"))
 @end lisp
-@end defvr
+@end defvar
 
 @node Invoking guix home
 @section Invoking @command{guix home}
diff --git a/gnu/home/services/fontutils.scm b/gnu/home/services/fontutils.scm
index f959ee4fd6..3399cb7ec8 100644
--- a/gnu/home/services/fontutils.scm
+++ b/gnu/home/services/fontutils.scm
@@ -35,16 +35,16 @@ (define-module (gnu home services fontutils)
 ;;;
 ;;; Code:
 
-(define (add-fontconfig-config-file paths)
+(define (add-fontconfig-config-file directories)
   `(("fontconfig/fonts.conf"
      ,(mixed-text-file
        "fonts.conf"
        (apply string-append
               `("<?xml version='1.0'?>
 <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
-<fontconfig>\n" ,@(map (lambda (path)
-                         (string-append "  <dir>" path "</dir>\n"))
-                       paths)
+<fontconfig>\n" ,@(map (lambda (directory)
+                         (string-append "  <dir>" directory "</dir>\n"))
+                       directories)
                 "</fontconfig>\n"))))))
 
 (define (regenerate-font-cache-gexp _)