[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 2/3] services: Add wpa-supplicant-service.
From: |
Tomáš Čech |
Subject: |
[PATCH 2/3] services: Add wpa-supplicant-service. |
Date: |
Wed, 9 Nov 2016 22:22:44 +0100 |
* gnu/services/networking.scm (wpa-supplicant-service): New procedure.
(wpa-supplicant-service-type): New variable.
(wpa-supplicant-shepherd-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
---
doc/guix.texi | 8 ++++++++
gnu/services/networking.scm | 36 +++++++++++++++++++++++++++++++++++-
2 files changed, 43 insertions(+), 1 deletion(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 89a7a58..bdf0bce 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -8301,6 +8301,14 @@ several the @command{connmanctl} command to interact
with the daemon and
configure networking."
@end deffn
address@hidden WPA Supplicant
address@hidden {Scheme Procedure} wpa-supplicant-service @
+ [#:wpa-supplicant @var{wpa-supplicant}]
+Return a service that runs @url{https://w1.fi/wpa_supplicant/,WPA
+supplicant}, an authentication daemon required to authenticate against
+encrypted WiFi or ethernet networks.
address@hidden deffn
+
@deffn {Scheme Procedure} ntp-service [#:ntp @var{ntp}] @
[#:servers @var{%ntp-servers}] @
[#:allow-large-adjustment? #f]
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index df609da..05ee339 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -64,7 +64,8 @@
wicd-service
network-manager-service
- connman-service))
+ connman-service
+ wpa-supplicant-service))
;;; Commentary:
;;;
@@ -740,4 +741,37 @@ several the @command{connmanctl} command to interact with
the daemon and
configure networking."
(service connman-service-type connman))
+
+
+;;;
+;;; WPA supplicant
+;;;
+
+
+(define (wpa-supplicant-shepherd-service wpa-supplicant)
+ "Return a shepherd service for wpa_supplicant"
+ (list (shepherd-service
+ (documentation "Run WPA supplicant with dbus interface")
+ (provision '(wpa-supplicant))
+ (requirement '(user-processes dbus-system loopback))
+ (start #~(make-forkexec-constructor
+ (list (string-append #$wpa-supplicant
+ "/sbin/wpa_supplicant")
+ "-u" "-B")))
+ (stop #~(make-kill-destructor)))))
+
+(define wpa-supplicant-service-type
+ (service-type (name 'wpa-supplicant)
+ (extensions
+ (list (service-extension shepherd-root-service-type
+ wpa-supplicant-shepherd-service)
+ (service-extension dbus-root-service-type list)
+ (service-extension profile-service-type list)))))
+
+(define* (wpa-supplicant-service #:key (wpa-supplicant wpa-supplicant))
+ "Return a service that runs @url{https://w1.fi/wpa_supplicant/,WPA
+supplicant}, an authentication daemon required to authenticate against
+encrypted WiFi or ethernet networks."
+ (service wpa-supplicant-service-type wpa-supplicant))
+
;;; networking.scm ends here
--
2.10.2