summary refs log tree commit diff
diff options
context:
space:
mode:
authorJelle Licht <jlicht@fsfe.org>2019-07-03 14:03:25 +0200
committerJelle Licht <jlicht@fsfe.org>2019-07-17 11:08:19 +0200
commit40557aeab594907bf56b0a2a367061dbdd19f4aa (patch)
tree24a861f0faf96f745e44bc16850f0a870204de71
parent7d1861e2d27545d71253eb3f0a688f4fd70278ce (diff)
downloadguix-40557aeab594907bf56b0a2a367061dbdd19f4aa.tar.gz
services: network-manager: Properly load vpn plugins
Extends the dbus service when vpn plugins are enabled.

* gnu/services/networking.scm (network-manager-service-type): Load vpn plugins
when extending dbus service.
-rw-r--r--gnu/services/networking.scm16
1 files changed, 10 insertions, 6 deletions
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 13cffd9feb..7423bac1aa 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de>
+;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -942,24 +943,27 @@ and @command{wicd-curses} user interfaces."
 
 (define network-manager-service-type
   (let
-      ((config->package
+      ((config->packages
         (match-lambda
-         (($ <network-manager-configuration> network-manager)
-          (list network-manager)))))
+         (($ <network-manager-configuration> network-manager _ vpn-plugins)
+          `(,network-manager ,@vpn-plugins)))))
 
     (service-type
      (name 'network-manager)
      (extensions
       (list (service-extension shepherd-root-service-type
                                network-manager-shepherd-service)
-            (service-extension dbus-root-service-type config->package)
-            (service-extension polkit-service-type config->package)
+            (service-extension dbus-root-service-type config->packages)
+            (service-extension polkit-service-type
+                               (compose
+                                list
+                                network-manager-configuration-network-manager))
             (service-extension activation-service-type
                                network-manager-activation)
             (service-extension session-environment-service-type
                                network-manager-environment)
             ;; Add network-manager to the system profile.
-            (service-extension profile-service-type config->package)))
+            (service-extension profile-service-type config->packages)))
      (default-value (network-manager-configuration))
      (description
       "Run @uref{https://wiki.gnome.org/Projects/NetworkManager,