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/base.scm11
-rw-r--r--gnu/services/cuirass.scm6
-rw-r--r--gnu/services/dns.scm4
3 files changed, 17 insertions, 4 deletions
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 47c7d8bb27..3409bd352c 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016 David Craven <david@craven.ch>
 ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2040,6 +2041,8 @@ This service is not part of @var{%base-services}."
                            (default (file-append shadow "/bin/login")))
   (login-arguments         kmscon-configuration-login-arguments
                            (default '("-p")))
+  (auto-login              kmscon-configuration-auto-login
+                           (default #f))
   (hardware-acceleration?  kmscon-configuration-hardware-acceleration?
                            (default #f))) ; #t causes failure
 
@@ -2051,14 +2054,20 @@ This service is not part of @var{%base-services}."
            (virtual-terminal (kmscon-configuration-virtual-terminal config))
            (login-program (kmscon-configuration-login-program config))
            (login-arguments (kmscon-configuration-login-arguments config))
+           (auto-login (kmscon-configuration-auto-login config))
            (hardware-acceleration? (kmscon-configuration-hardware-acceleration? config)))
 
        (define kmscon-command
          #~(list
             #$(file-append kmscon "/bin/kmscon") "--login"
             "--vt" #$virtual-terminal
+            "--no-switchvt" ;Prevent a switch to the virtual terminal.
             #$@(if hardware-acceleration? '("--hwaccel") '())
-            "--" #$login-program #$@login-arguments))
+            "--login" "--"
+            #$login-program #$@login-arguments
+            #$@(if auto-login
+                   #~(#$auto-login)
+                   #~())))
 
        (shepherd-service
         (documentation "kmscon virtual terminal")
diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm
index 496b2d06c8..36e90fc825 100644
--- a/gnu/services/cuirass.scm
+++ b/gnu/services/cuirass.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
-;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
@@ -54,6 +54,8 @@
                     (default "/var/log/cuirass.log"))
   (cache-directory  cuirass-configuration-cache-directory ;string (dir-name)
                     (default "/var/cache/cuirass"))
+  (ttl              cuirass-configuration-ttl     ;integer
+                    (default (* 30 24 3600)))
   (user             cuirass-configuration-user ;string
                     (default "cuirass"))
   (group            cuirass-configuration-group ;string
@@ -86,6 +88,7 @@
          (group            (cuirass-configuration-group config))
          (interval         (cuirass-configuration-interval config))
          (database         (cuirass-configuration-database config))
+         (ttl              (cuirass-configuration-ttl config))
          (port             (cuirass-configuration-port config))
          (host             (cuirass-configuration-host config))
          (specs            (cuirass-configuration-specifications config))
@@ -102,6 +105,7 @@
                             "--specifications"
                             #$(scheme-file "cuirass-specs.scm" specs)
                             "--database" #$database
+                            "--ttl" #$(string-append (number->string ttl) "s")
                             "--port" #$(number->string port)
                             "--listen" #$host
                             "--interval" #$(number->string interval)
diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm
index 16bd039f59..24ef886682 100644
--- a/gnu/services/dns.scm
+++ b/gnu/services/dns.scm
@@ -763,9 +763,9 @@ manually.")
         (use-modules (guix build utils)
                      (ice-9 rdelim))
         (let ((ddclient-user
-               #$(passwd:uid (getpw (ddclient-configuration-user config))))
+               (passwd:uid (getpw #$(ddclient-configuration-user config))))
               (ddclient-group
-               #$(passwd:gid (getpw (ddclient-configuration-group config))))
+               (passwd:gid (getpw #$(ddclient-configuration-group config))))
               (ddclient-secret-file
                #$(ddclient-configuration-secret-file config)))
           ;; 'ddclient' complains about ddclient.conf file permissions, which