From 405c0c947cfd59d7bfb81052545cd635970d2d0c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 18 Mar 2020 12:38:15 +0200 Subject: services: Add fontconfig-file-system-service. * gnu/services/desktop.scm (%fontconfig-file-system, fontconfig-file-system-service): New variables. (%desktop-services): Add fontconfig-file-system-service. --- gnu/services/desktop.scm | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) (limited to 'gnu/services') diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 1294d748ac..16ee4d3537 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016 Sou Bunnbu ;;; Copyright © 2017 Maxim Cournoyer ;;; Copyright © 2017 ng0 -;;; Copyright © 2018 Efraim Flashner +;;; Copyright © 2018, 2020 Efraim Flashner ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2017, 2019 Christopher Baines ;;; Copyright © 2019 Tim Gesthuizen @@ -36,7 +36,7 @@ #:use-module (gnu services networking) #:use-module (gnu services sound) #:use-module ((gnu system file-systems) - #:select (%elogind-file-systems)) + #:select (%elogind-file-systems file-system)) #:use-module (gnu system) #:use-module (gnu system shadow) #:use-module (gnu system pam) @@ -106,6 +106,9 @@ elogind-service elogind-service-type + %fontconfig-file-system + fontconfig-file-system-service + accountsservice-service-type accountsservice-service @@ -797,6 +800,27 @@ when they log out." ;;; +;;; Fontconfig and other desktop file-systems. +;;; + +(define %fontconfig-file-system + (file-system + (device "none") + (mount-point "/var/cache/fontconfig") + (type "tmpfs") + (flags '(read-only)) + (check? #f))) + +;; The global fontconfig cache directory can sometimes contain stale entries, +;; possibly referencing fonts that have been GC'd, so mount it read-only. +;; As mentioned https://debbugs.gnu.org/cgi/bugreport.cgi?bug=36924#8 and +;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=38046#10 and elsewhere. +(define fontconfig-file-system-service + (simple-service 'fontconfig-file-system + file-system-service-type + (list %fontconfig-file-system))) + +;;; ;;; AccountsService service. ;;; @@ -1185,6 +1209,11 @@ or setting its password with passwd."))) ;; perform administrative tasks (similar to "sudo"). polkit-wheel-service + ;; The global fontconfig cache directory can sometimes contain + ;; stale entries, possibly referencing fonts that have been GC'd, + ;; so mount it read-only. + fontconfig-file-system-service + ;; NetworkManager and its applet. (service network-manager-service-type) (service wpa-supplicant-service-type) ;needed by NetworkManager -- cgit v1.2.3 From ae5c4a92923b2adeebd9d2b6d89976e73cfcfc7a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 22 Mar 2020 21:58:03 +0100 Subject: services: console-font: Fix docstring. * gnu/services/base.scm (console-font-service-type): Use quasiquote and unquote appropriately in docstring. --- gnu/services/base.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'gnu/services') diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 669a03b041..8d9a563e2b 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -817,13 +817,13 @@ tty/font pairs. The font can be the name of a font provided by the @code{kbd} package or any valid argument to @command{setfont}, as in this example: @example -'((\"tty1\" . \"LatGrkCyr-8x16\") - (\"tty2\" . (file-append - font-tamzen - \"/share/kbd/consolefonts/TamzenForPowerline10x20.psf\")) - (\"tty3\" . (file-append - font-terminus - \"/share/consolefonts/ter-132n\"))) ; for HDPI +`((\"tty1\" . \"LatGrkCyr-8x16\") + (\"tty2\" . ,(file-append + font-tamzen + \"/share/kbd/consolefonts/TamzenForPowerline10x20.psf\")) + (\"tty3\" . ,(file-append + font-terminus + \"/share/consolefonts/ter-132n\"))) ; for HDPI @end example\n"))) (define* (console-font-service tty #:optional (font "LatGrkCyr-8x16")) -- cgit v1.2.3 From b3c083b98530448fe226399c037c0126a531b459 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 25 Mar 2020 14:10:55 +0100 Subject: services/nfs: Mount nfsd pseudo file system. * gnu/services/nfs.scm (nfs-shepherd-services): Add shepherd-service providing /proc/fs/nfsd and make other shepherd services require it. --- gnu/services/nfs.scm | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'gnu/services') diff --git a/gnu/services/nfs.scm b/gnu/services/nfs.scm index c90984387e..cbaa97b2fd 100644 --- a/gnu/services/nfs.scm +++ b/gnu/services/nfs.scm @@ -274,9 +274,19 @@ rpcmountd-port rpcstatd-port nfsd-port nfsd-threads pipefs-directory debug) (list (shepherd-service + (documentation "Mount the nfsd pseudo file system.") + (provision '(/proc/fs/nfsd)) + (start #~(lambda () + (mount "nfsd" "/proc/fs/nfsd" "nfsd") + (member "/proc/fs/nfsd" (mount-points)))) + + (stop #~(lambda (pid . args) + (umount "/proc/fs/nfsd" MNT_DETACH) + (not (member "/proc/fs/nfsd" (mount-points)))))) + (shepherd-service (documentation "Run the NFS statd daemon.") (provision '(rpc.statd)) - (requirement '(rpcbind-daemon)) + (requirement '(/proc/fs/nfsd rpcbind-daemon)) (start #~(make-forkexec-constructor (list #$(file-append nfs-utils "/sbin/rpc.statd") @@ -295,7 +305,7 @@ (shepherd-service (documentation "Run the NFS mountd daemon.") (provision '(rpc.mountd)) - (requirement '(rpc.statd)) + (requirement '(/proc/fs/nfsd rpc.statd)) (start #~(make-forkexec-constructor (list #$(file-append nfs-utils "/sbin/rpc.mountd") @@ -310,7 +320,7 @@ (shepherd-service (documentation "Run the NFS daemon.") (provision '(rpc.nfsd)) - (requirement '(rpc.statd networking)) + (requirement '(/proc/fs/nfsd rpc.statd networking)) (start #~(lambda _ (zero? (system* #$(file-append nfs-utils "/sbin/rpc.nfsd") @@ -329,7 +339,7 @@ (shepherd-service (documentation "Run the NFS mountd daemon and refresh exports.") (provision '(nfs)) - (requirement '(rpc.nfsd rpc.mountd rpc.statd rpcbind-daemon)) + (requirement '(/proc/fs/nfsd rpc.nfsd rpc.mountd rpc.statd rpcbind-daemon)) (start #~(lambda _ (let ((rpcdebug #$(file-append nfs-utils "/sbin/rpcdebug"))) -- cgit v1.2.3