Subject: [PATCH 2/6] services: network-manager: Properly load vpn plugins

From: Jelle Licht <[email-masked]>
Date: Sun, 7 Jul 2019 21:28:44 +0200

Extends the dbus service when vpn plugins are enabled.

* gnu/services/networking.scm (network-manager-service-type): Load vpn plugins
when extending dbus service.
---
 gnu/services/networking.scm | 16 ++++++++++------
 1 file 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 <[email-masked]>
 ;;; Copyright © 2018 Arun Isaac <[email-masked]>
 ;;; Copyright © 2019 Florian Pelz <[email-masked]>
+;;; Copyright © 2019 Maxim Cournoyer <[email-masked]>
 ;;;
 ;;; 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,
-- 
2.22.0