[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#60498: [PATCH] home: services: fontutils: Add service value.
From: |
Ludovic Courtès |
Subject: |
bug#60498: [PATCH] home: services: fontutils: Add service value. |
Date: |
Tue, 31 Jan 2023 23:06:03 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Hi Giacomo,
Giacomo Leidi <goodoldpaul@autistici.org> 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 _)