GNU bug report logs -
#50208
[PATCH] home-services: Add symlink-manager
Previous Next
Reported by: Andrew Tropin <andrew <at> trop.in>
Date: Thu, 26 Aug 2021 07:00:02 UTC
Severity: normal
Tags: patch
Done: Oleg Pykhalov <go.wigust <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #17 received at 50208 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
* gnu/home-services/fontutils.scm (home-fontconfig-service-type): New
variable.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add home-services/fontutils.scm.
---
gnu/home-services/fontutils.scm | 65 +++++++++++++++++++++++++++++++++
gnu/local.mk | 1 +
2 files changed, 66 insertions(+)
create mode 100644 gnu/home-services/fontutils.scm
diff --git a/gnu/home-services/fontutils.scm b/gnu/home-services/fontutils.scm
new file mode 100644
index 0000000000..28bfc3d3f7
--- /dev/null
+++ b/gnu/home-services/fontutils.scm
@@ -0,0 +1,65 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Andrew Tropin <andrew <at> trop.in>
+;;; Copyright © 2021 Xinglu Chen <public <at> yoctocell.xyz>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu home-services fontutils)
+ #:use-module (gnu home-services)
+ #:use-module (gnu packages fontutils)
+ #:use-module (guix gexp)
+
+ #:export (home-fontconfig-service-type))
+
+;;; Commentary:
+;;;
+;;; Services related to fonts. home-fontconfig service provides
+;;; fontconfig configuration, which allows fc-* utilities to find
+;;; fonts in Guix Home's profile and regenerates font cache on
+;;; activation.
+;;;
+;;; Code:
+
+(define (add-fontconfig-config-file he-symlink-path)
+ `(("config/fontconfig/fonts.conf"
+ ,(mixed-text-file
+ "fonts.conf"
+ "<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+ <dir>~/.guix-home/profile/share/fonts</dir>
+</fontconfig>"))))
+
+(define (regenerate-font-cache-gexp _)
+ `(("profile/share/fonts"
+ ,#~(system* #$(file-append fontconfig "/bin/fc-cache") "-fv"))))
+
+(define home-fontconfig-service-type
+ (service-type (name 'home-fontconfig)
+ (extensions
+ (list (service-extension
+ home-files-service-type
+ add-fontconfig-config-file)
+ (service-extension
+ home-run-on-change-service-type
+ regenerate-font-cache-gexp)
+ (service-extension
+ home-profile-service-type
+ (const (list fontconfig)))))
+ (default-value #f)
+ (description
+ "Provides configuration file for fontconfig and make
+fc-* utilities aware of font packages installed in Guix Home's profile.")))
diff --git a/gnu/local.mk b/gnu/local.mk
index 91c3b0da3d..e25ff3db53 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -74,6 +74,7 @@ GNU_SYSTEM_MODULES = \
%D%/ci.scm \
%D%/home-services.scm \
%D%/home-services/symlink-manager.scm \
+ %D%/home-services/fontutils.scm \
%D%/image.scm \
%D%/packages.scm \
%D%/packages/abduco.scm \
--
2.33.0
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 3 years and 264 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.