guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#30991] [PATCH v2 2/3] services: Add modem-manager-service-type.


From: Danny Milosavljevic
Subject: [bug#30991] [PATCH v2 2/3] services: Add modem-manager-service-type.
Date: Fri, 30 Mar 2018 00:21:39 +0200

* gnu/services/networking.scm (modem-manager-service-type): New variable.
(<modem-manager-configuration>): New variable.
(modem-manager-configuration): New procedure.
(modem-manager-configuration?): New procedure.
* doc/guix.texi (Networking Services): Document it.
---
 doc/guix.texi               | 22 ++++++++++++++++++++++
 gnu/services/networking.scm | 39 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 61 insertions(+)

diff --git a/doc/guix.texi b/doc/guix.texi
index 25c08b9f0..23b7ae089 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -10712,6 +10712,28 @@ several commands to interact with the daemon and 
configure networking:
 and @command{wicd-curses} user interfaces.
 @end deffn
 
address@hidden ModemManager
+
address@hidden {Scheme Variable} modem-manager-service-type
+This is the service type for the
address@hidden://wiki.gnome.org/Projects/ModemManager, ModemManager}
+service. The value for this service type is a
address@hidden record.
+
+This service is part of @code{%desktop-services} (@pxref{Desktop
+Services}).
address@hidden defvr
+
address@hidden {Data Type} modem-manager-configuration
+Data type representing the configuration of ModemManager.
+
address@hidden @asis
address@hidden @code{modem-manager} (default: @code{modem-manager})
+The ModemManager package to use.
+
address@hidden table
address@hidden deftp
+
 @cindex NetworkManager
 
 @defvr {Scheme Variable} network-manager-service-type
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index da96bbeb5..5092a5f35 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -31,6 +31,7 @@
   #:use-module (gnu system pam)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages connman)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages tor)
   #:use-module (gnu packages messaging)
@@ -80,6 +81,9 @@
             connman-configuration?
             connman-service-type
 
+            modem-manager-configuration
+            modem-manager-configuration?
+            modem-manager-service-type
             wpa-supplicant-service-type
 
             openvswitch-service-type
@@ -732,6 +736,17 @@ and @command{wicd-curses} user interfaces."
   (service wicd-service-type wicd))
 
 
+;;;
+;;; ModemManager
+;;;
+
+(define-record-type* <modem-manager-configuration>
+  modem-manager-configuration make-modem-manager-configuration
+  modem-manager-configuration?
+  (modem-manager modem-manager-configuration-modem-manager
+                   (default modem-manager)))
+
+
 ;;;
 ;;; NetworkManager
 ;;;
@@ -869,6 +884,30 @@ wireless networking."))))
 a network connection manager."))))
 
 
+;;;
+;;; Modem manager
+;;;
+
+(define modem-manager-service-type
+  (let ((config->package
+         (match-lambda
+          (($ <modem-manager-configuration> modem-manager)
+           (list modem-manager)))))
+    (service-type (name 'modem-manager)
+                  (extensions
+                   (list (service-extension dbus-root-service-type
+                                            config->package)
+                         (service-extension udev-service-type
+                                            config->package)
+                         (service-extension polkit-service-type
+                                            config->package)))
+                  (default-value (modem-manager-configuration))
+                  (description
+                   "Run @uref{https://wiki.gnome.org/Projects/ModemManager,
+ModemManager}, a modem management daemon that aims to simplify dialup
+networking."))))
+
+
 ;;;
 ;;; WPA supplicant
 ;;;





reply via email to

[Prev in Thread] Current Thread [Next in Thread]