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/cuirass.scm12
-rw-r--r--gnu/services/dns.scm10
-rw-r--r--gnu/services/networking.scm3
-rw-r--r--gnu/services/vpn.scm4
4 files changed, 21 insertions, 8 deletions
diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm
index 5b4e24d794..99b137e05e 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, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
@@ -38,16 +38,13 @@
   #:use-module (gnu system shadow)
   #:use-module (srfi srfi-1)
   #:use-module (ice-9 match)
-  #:export (<cuirass-remote-server-configuration>
-            cuirass-remote-server-configuration
+  #:export (cuirass-remote-server-configuration
             cuirass-remote-server-configuration?
 
-            <cuirass-configuration>
             cuirass-configuration
             cuirass-configuration?
             cuirass-service-type
 
-            <cuirass-remote-worker-configuration>
             cuirass-remote-worker-configuration
             cuirass-remote-worker-configuration?
             cuirass-remote-worker-service-type))
@@ -272,6 +269,8 @@
                                remote-server)))
          (user           (cuirass-configuration-user config))
          (log            "/var/log/cuirass")
+         (profile        (string-append "/var/guix/profiles/per-user/" user))
+         (roots          (string-append profile "/cuirass"))
          (group          (cuirass-configuration-group config)))
     (with-imported-modules '((guix build utils))
       #~(begin
@@ -279,6 +278,7 @@
 
           (mkdir-p #$cache)
           (mkdir-p #$log)
+          (mkdir-p #$roots)
 
           (when #$remote-cache
             (mkdir-p #$remote-cache))
@@ -287,6 +287,8 @@
                 (gid (group:gid (getgr #$group))))
             (chown #$cache uid gid)
             (chown #$log uid gid)
+            (chown #$roots uid gid)
+            (chown #$profile uid gid)
 
             (when #$remote-cache
               (chown #$remote-cache uid gid)))))))
diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm
index 55211cb08f..aeb2bfdc86 100644
--- a/gnu/services/dns.scm
+++ b/gnu/services/dns.scm
@@ -861,12 +861,20 @@ cache.size = 100 * MB
                 #:pid-file "/run/dnsmasq.pid"))
       (stop #~(make-kill-destructor))))))
 
+(define (dnsmasq-activation config)
+  #~(begin
+      (use-modules (guix build utils))
+      ;; create directory to store dnsmasq lease file
+      (mkdir-p "/var/lib/misc")))
+
 (define dnsmasq-service-type
   (service-type
    (name 'dnsmasq)
    (extensions
     (list (service-extension shepherd-root-service-type
-                             (compose list dnsmasq-shepherd-service))))
+                             (compose list dnsmasq-shepherd-service))
+          (service-extension activation-service-type
+                             dnsmasq-activation)))
    (default-value (dnsmasq-configuration))
    (description "Run the dnsmasq DNS server.")))
 
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index b78c8ceacc..87b3d754a3 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -1591,7 +1591,8 @@ extra-settings "\n"))))
          (requirement `(user-processes ,@requirement))
          (documentation "Run the hostapd WiFi access point daemon.")
          (start #~(make-forkexec-constructor
-                   (list #$(file-append hostapd "/sbin/hostapd")
+                   (list #$(file-append (hostapd-configuration-package config)
+                                        "/sbin/hostapd")
                          #$(hostapd-configuration-file config))
                    #:log-file "/var/log/hostapd.log"))
          (stop #~(make-kill-destructor)))))
diff --git a/gnu/services/vpn.scm b/gnu/services/vpn.scm
index 6fbe20a849..2bcbf76727 100644
--- a/gnu/services/vpn.scm
+++ b/gnu/services/vpn.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -48,6 +49,8 @@
             wireguard-peer-name
             wireguard-peer-endpoint
             wireguard-peer-allowed-ips
+            wireguard-peer-public-key
+            wireguard-peer-keep-alive
 
             wireguard-configuration
             wireguard-configuration?
@@ -526,7 +529,6 @@ is truncated and rewritten every minute.")
      (openvpn-remote-configuration ,openvpn-remote-configuration-fields))
    'openvpn-client-configuration))
 
-
 ;;;
 ;;; Wireguard.
 ;;;