diff options
author | Danny Milosavljevic <dannym@scratchpost.org> | 2018-03-30 00:21:39 +0200 |
---|---|---|
committer | Danny Milosavljevic <dannym@scratchpost.org> | 2018-04-30 03:47:16 +0200 |
commit | d94e81dbfc2613f2e3f89500e2a87421f57a032c (patch) | |
tree | b5daeab49e024173b7301dc061d80e98bda876d1 | |
parent | c9436025a90b86047ba2203d58bbf238f8f9b2f9 (diff) | |
download | patches-d94e81dbfc2613f2e3f89500e2a87421f57a032c.tar patches-d94e81dbfc2613f2e3f89500e2a87421f57a032c.tar.gz |
services: Add modem-manager-service-type.
* 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.
* gnu/tests/networking.scm: Import (gnu services base).
-rw-r--r-- | doc/guix.texi | 22 | ||||
-rw-r--r-- | gnu/services/networking.scm | 39 | ||||
-rw-r--r-- | gnu/tests/networking.scm | 1 |
3 files changed, 62 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 75886e94b3..58c3688c03 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -10773,6 +10773,28 @@ several commands to interact with the daemon and configure networking: and @command{wicd-curses} user interfaces. @end deffn +@cindex ModemManager + +@defvr {Scheme Variable} modem-manager-service-type +This is the service type for the +@uref{https://wiki.gnome.org/Projects/ModemManager, ModemManager} +service. The value for this service type is a +@code{modem-manager-configuration} record. + +This service is part of @code{%desktop-services} (@pxref{Desktop +Services}). +@end defvr + +@deftp {Data Type} modem-manager-configuration +Data type representing the configuration of ModemManager. + +@table @asis +@item @code{modem-manager} (default: @code{modem-manager}) +The ModemManager package to use. + +@end table +@end deftp + @cindex NetworkManager @defvr {Scheme Variable} network-manager-service-type diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 400b6919d2..67674e895e 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) @@ -92,6 +93,9 @@ connman-configuration? connman-service-type + modem-manager-configuration + modem-manager-configuration? + modem-manager-service-type wpa-supplicant-service-type openvswitch-service-type @@ -811,6 +815,17 @@ and @command{wicd-curses} user interfaces." ;;; +;;; 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 ;;; @@ -948,6 +963,30 @@ 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 ;;; diff --git a/gnu/tests/networking.scm b/gnu/tests/networking.scm index 171c636e5f..323679e7fc 100644 --- a/gnu/tests/networking.scm +++ b/gnu/tests/networking.scm @@ -22,6 +22,7 @@ #:use-module (gnu system) #:use-module (gnu system vm) #:use-module (gnu services) + #:use-module (gnu services base) #:use-module (gnu services networking) #:use-module (guix gexp) #:use-module (guix store) |