~ruther/guix-local

2cccbc2af25c6e65167fb471560c5384cb9c2fe2 — Tomáš Čech 9 years ago 028bf3c
services: Add wpa-supplicant-service.

* gnu/services/networking.scm (wpa-supplicant-service): New procedure.
(wpa-supplicant-service-type): New variable.
* doc/guix.texi (Networking Services): Document it.
2 files changed, 39 insertions(+), 1 deletions(-)

M doc/guix.texi
M gnu/services/networking.scm
M doc/guix.texi => doc/guix.texi +9 -0
@@ 8397,6 8397,15 @@ several the @command{connmanctl} command to interact with the daemon and
configure networking."
@end deffn

@cindex WPA Supplicant
@deffn {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. Service is started to listen for
requests on D-Bus.
@end deffn

@cindex NTP
@cindex real time clock
@deffn {Scheme Procedure} ntp-service [#:ntp @var{ntp}] @

M gnu/services/networking.scm => gnu/services/networking.scm +30 -1
@@ 64,7 64,8 @@

            wicd-service
            network-manager-service
            connman-service))
            connman-service
            wpa-supplicant-service-type))

;;; Commentary:
;;;


@@ 740,4 741,32 @@ 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" "-P/var/run/wpa_supplicant.pid")
                   #:pid-file "/var/run/wpa_supplicant.pid"))
         (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)))))

;;; networking.scm ends here