summaryrefslogtreecommitdiff
path: root/suweren/home
diff options
context:
space:
mode:
authorMarek Paśnikowski <marek@marekpasnikowski.pl>2024-11-15 19:44:17 +0100
committerMarek Paśnikowski <marek@marekpasnikowski.pl>2024-11-15 19:44:17 +0100
commitb32edc739f1c131c0c29a97ce4184a14ab6409c3 (patch)
tree19cfddefbe85f767550d58db5db1d8e29d912df6 /suweren/home
parent91dd5d24979cd891e1c2a076bd1d18e20e97c517 (diff)
refactor(fontutils): isolate the suweren-home-fontconfig-service-type object
Diffstat (limited to 'suweren/home')
-rw-r--r--suweren/home/services/fontutils.scm92
1 files changed, 46 insertions, 46 deletions
diff --git a/suweren/home/services/fontutils.scm b/suweren/home/services/fontutils.scm
index 587adcc..6ffca6d 100644
--- a/suweren/home/services/fontutils.scm
+++ b/suweren/home/services/fontutils.scm
@@ -1,50 +1,50 @@
(define-module (suweren home services fontutils)
- ;; suweren-home-fontconfig-service-type
+ #:use-module ((gnu home services fontutils)
+ #:prefix gnu:home:services:fontutils:)
+ #:use-module ((gnu services)
+ #:prefix gnu:services:))
- #:use-module (gnu home services fontutils)
-
- ;; suweren-home-fontconfig-service-type
- #:use-module (gnu services))
+(define rules
+ (let* ((antialias '(match (@ (target "font"))
+ (edit (@ (mode "assign")
+ (name "antialias"))
+ (bool "true"))))
+ (hinting '(match (@ (target "font"))
+ (edit (@ (mode "assign")
+ (name "hinting"))
+ (bool "true"))))
+ (hintstyle '(match (@ (target "font"))
+ (edit (@ (mode "assign")
+ (name "hintstyle"))
+ (const "hintfull"))))
+ (monospace '(alias (family "monospace")
+ (prefer (family "Unifont"))))
+ (rgba '(match (@ (target "font"))
+ (edit (@ (mode "assign")
+ (name "rgba"))
+ (const "rgb"))))
+ (sans-serif '(alias (family "sans-serif")
+ (prefer (family "Unifont"))))
+ (serif '(alias (family "serif")
+ (prefer (family "Unifont")))))
+ (list "\n "
+ antialias
+ "\n "
+ hinting
+ "\n "
+ hintstyle
+ "\n "
+ rgba
+ "\n "
+ monospace
+ "\n "
+ sans-serif
+ "\n "
+ serif
+ "\n")))
(define-public suweren-home-fontconfig-service-type
- (let* ((antialias '(match (@ (target "font"))
- (edit (@ (mode "assign")
- (name "antialias"))
- (bool "true"))))
- (hinting '(match (@ (target "font"))
- (edit (@ (mode "assign")
- (name "hinting"))
- (bool "true"))))
- (hintstyle '(match (@ (target "font"))
- (edit (@ (mode "assign")
- (name "hintstyle"))
- (const "hintfull"))))
- (monospace '(alias (family "monospace")
- (prefer (family "Unifont"))))
- (rgba '(match (@ (target "font"))
- (edit (@ (mode "assign")
- (name "rgba"))
- (const "rgb"))))
- (sans-serif '(alias (family "sans-serif")
- (prefer (family "Unifont"))))
- (serif '(alias (family "serif")
- (prefer (family "Unifont"))))
-
- ;; TODO sxml -> (sxml)
- (rules (list antialias
- hinting
- hintstyle
- rgba
- monospace
- sans-serif
- serif))
-
- ;; TODO Remove the hardcoded path by using an appropriate variable.
- ;; TODO string -> (sxml) -> fontconfig-extension
- (extensions (list "~/.guix-home/profile/share/fonts"
- rules)))
-
- ;; TODO symbol -> service-type? -> fontconfig-extension -> service
- (simple-service 'suweren-fontconfig
- home-fontconfig-service-type
- extensions)))
+ (gnu:services:simple-service
+ 'suweren-fontconfig
+ gnu:home:services:fontutils:home-fontconfig-service-type
+ (list rules)))