summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author宋文武 <iyzsong@member.fsf.org>2024-04-22 20:42:13 +0800
committer宋文武 <iyzsong@member.fsf.org>2024-04-29 08:54:36 +0800
commit3bd8d238aba718bf949691d0e37fa310e2cfc12a (patch)
treea54ac580c0faa585ced6d39e0544a53813661b9a
parent1fbbdef3c9ed074dc25cb40a8621313f9d258203 (diff)
services: Add gvfs-service-type.
* gnu/services/desktop.scm (gvfs-service-type): New variable. (gvfs-configuration, make-gvfs-configuration, gvfs-configuration?, gvfs-package): New procedures. (<gvfs-configuration>): New record. * doc/guix.texi (Desktop Services): Document it. Change-Id: I584819500e2ce7d2b14e57dac238a96e9888e75e
-rw-r--r--doc/guix.texi19
-rw-r--r--gnu/services/desktop.scm28
2 files changed, 47 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 3ee9f54773..5d3c9225b4 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -24941,6 +24941,25 @@ Package object for UDisks.
@end table
@end deftp
+@defvar gvfs-service-type
+Type for the service that provides virtual file systems for GIO
+applicaitons, which enables support for @code{trash:///}, @code{ftp://},
+@code{sftp://} and many other location schemas in file managers like
+Nautilus (GNOME Files) and Thunar.
+
+The value for this service is a @code{<gvfs-configuration>} object.
+@end defvar
+
+@deftp {Data Type} gvfs-configuration
+Data type representing the configuration for @code{gvfs-service-type}.
+
+@table @asis
+@item @code{gvfs} (default: @code{gvfs}) (type: file-like)
+Package object for GVfs.
+
+@end table
+@end deftp
+
@defvar colord-service-type
This is the type of the service that runs @command{colord}, a system
service with a D-Bus
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 02a7802d58..d0b9728d4a 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -109,6 +109,10 @@
udisks-service ; deprecated
udisks-service-type
+ gvfs-configuration
+ gvfs-configuration?
+ gvfs-service-type
+
colord-service-type
geoclue-application
@@ -989,6 +993,30 @@ include the @command{udisksctl} command, part of UDisks, and GNOME Disks."
(service udisks-service-type
(udisks-configuration (udisks udisks))))
+
+
+;;;
+;;; GVfs virtual file system.
+;;;
+
+(define-record-type* <gvfs-configuration>
+ gvfs-configuration make-gvfs-configuration
+ gvfs-configuration?
+ (gvfs gvfs-package (default gvfs)))
+
+(define gvfs-service-type
+ (service-type (name 'gvfs)
+ (extensions
+ (list
+ (service-extension profile-service-type
+ (compose list gvfs-package))
+ ;; Required for gvfs-udisks2-volume-monitor.
+ (service-extension udisks-service-type (const #t))))
+ (description
+ "Make GVfs virtual file systems (Trash, SFTP, SMB, HTTP,
+and many other) available for GIO applications.")
+ (default-value (gvfs-configuration))))
+
;;;
;;; Elogind login and seat management service.