summaryrefslogtreecommitdiff
path: root/suweren
diff options
context:
space:
mode:
Diffstat (limited to 'suweren')
-rw-r--r--suweren/home.scm2
-rw-r--r--suweren/home/services/fontutils.scm39
2 files changed, 41 insertions, 0 deletions
diff --git a/suweren/home.scm b/suweren/home.scm
index 1de149a..8cadc23 100644
--- a/suweren/home.scm
+++ b/suweren/home.scm
@@ -9,6 +9,7 @@
#:use-module (gnu services)
#:use-module (nongnu packages mozilla)
#:use-module (suweren home services)
+ #:use-module (suweren home services fontutils)
#:use-module (suweren services sound)
#:use-module (suweren update))
@@ -25,6 +26,7 @@
dbus
pipewire
shepherd
+ suweren-home-fontconfig-service-type
update-commands)))
(home-environment (packages packages)
(services services)))))
diff --git a/suweren/home/services/fontutils.scm b/suweren/home/services/fontutils.scm
new file mode 100644
index 0000000..acfcc64
--- /dev/null
+++ b/suweren/home/services/fontutils.scm
@@ -0,0 +1,39 @@
+(define-module (suweren home services fontutils)
+ ;; suweren-home-fontconfig-service-type [ home-fontconfig-service-type ]
+ #:use-module (gnu home services fontutils)
+ ;; suweren-home-fontconfig-service-type [ simple-service ]
+ #:use-module (gnu services))
+
+(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 "false"))))
+ (hintstyle '(match (@ (target "font"))
+ (edit (@ (mode "assign")
+ (name "hintstyle"))
+ (const "hintnone"))))
+ (rgba '(match (@ (target "font"))
+ (edit (@ (mode "assign")
+ (name "rgba"))
+ (const "none"))))
+
+ ;; TODO sxml -> (sxml)
+ (rules (list antialias
+ hinting
+ hintstyle
+ rgba))
+
+ ;; 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)))