summary refs log tree commit diff
path: root/gnu/services
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/services')
-rw-r--r--gnu/services/nfs.scm25
-rw-r--r--gnu/services/shepherd.scm6
-rw-r--r--gnu/services/xorg.scm1
3 files changed, 19 insertions, 13 deletions
diff --git a/gnu/services/nfs.scm b/gnu/services/nfs.scm
index cbaa97b2fd..4e358197e2 100644
--- a/gnu/services/nfs.scm
+++ b/gnu/services/nfs.scm
@@ -245,8 +245,8 @@
   nfs-configuration?
   (nfs-utils           nfs-configuration-nfs-utils
                        (default nfs-utils))
-  (nfs-version         nfs-configuration-nfs-version
-                       (default #f)) ; string
+  (nfs-versions        nfs-configuration-nfs-versions
+                       (default '("4.2" "4.1" "4.0")))
   (exports             nfs-configuration-exports
                        (default '()))
   (rpcmountd-port      nfs-configuration-rpcmountd-port
@@ -270,7 +270,7 @@
 (define (nfs-shepherd-services config)
   "Return a list of <shepherd-service> for the NFS daemons with CONFIG."
   (match-record config <nfs-configuration>
-    (nfs-utils nfs-version exports
+    (nfs-utils nfs-versions exports
                rpcmountd-port rpcstatd-port nfsd-port nfsd-threads
                pipefs-directory debug)
     (list (shepherd-service
@@ -323,15 +323,16 @@
            (requirement '(/proc/fs/nfsd rpc.statd networking))
            (start
             #~(lambda _
-                (zero? (system* #$(file-append nfs-utils "/sbin/rpc.nfsd")
-                                #$@(if (member 'nfsd debug)
-                                       '("--debug")
-                                       '())
-                                "--port" #$(number->string nfsd-port)
-                                #$@(if nfs-version
-                                       '("--nfs-version" nfs-version)
-                                       '())
-                                #$(number->string nfsd-threads)))))
+                (zero? (apply system* #$(file-append nfs-utils "/sbin/rpc.nfsd")
+                              (list
+                               #$@(if (member 'nfsd debug)
+                                      '("--debug")
+                                      '())
+                               "--port" #$(number->string nfsd-port)
+                               #$@(map (lambda (version)
+                                         (string-append "--nfs-version=" version))
+                                       nfs-versions)
+                               #$(number->string nfsd-threads))))))
            (stop
             #~(lambda _
                 (zero?
diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm
index d483ff1a15..bad089844d 100644
--- a/gnu/services/shepherd.scm
+++ b/gnu/services/shepherd.scm
@@ -269,7 +269,11 @@ and return the resulting '.go' file."
                          (module-use! env (resolve-interface '(oop goops)))
                          (module-use! env (resolve-interface '(shepherd service)))
                          (compile-file #$file #:output-file #$output
-                                       #:env env))))))
+                                       #:env env)))
+
+                   ;; It's faster to build locally than to download.
+                   #:options '(#:local-build? #t
+                               #:substitutable? #f))))
 
 (define (shepherd-configuration-file services)
   "Return the shepherd configuration file for SERVICES."
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index a6dbec6957..e6f64b30c1 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -798,6 +798,7 @@ the GNOME desktop environment.")
         (user-account
          (name "gdm")
          (group "gdm")
+         (supplementary-groups '("video"))
          (system? #t)
          (comment "GNOME Display Manager user")
          (home-directory "/var/lib/gdm")