summaryrefslogtreecommitdiff
path: root/gnu/services/networking.scm
diff options
context:
space:
mode:
authorDeclan Tsien <declantsien@riseup.net>2023-01-12 18:37:51 +0800
committerAndrew Tropin <andrew@trop.in>2023-01-16 20:59:30 +0400
commit0f20fc4dd99146c988907ca1cd2c58421b287596 (patch)
treeda2dc4d151bb93c5e2a0bb2ecb18ceac30f1331b /gnu/services/networking.scm
parentf52cc681b0791f43287525ea57d53c7889059ec6 (diff)
services: connman: Add iwd backend support.
* gnu/services/networking.scm (connman-configuration)[iwd?]: New field. (connman-shepherd-service): Add iwd? logic, remove wpa-supplicant requirement. * doc/guix.texi: Add information about connman-configuration iwd? option. Co-authored-by: Andrew Tropin <andrew@trop.in> Signed-off-by: Andrew Tropin <andrew@trop.in>
Diffstat (limited to 'gnu/services/networking.scm')
-rw-r--r--gnu/services/networking.scm14
1 files changed, 10 insertions, 4 deletions
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 702404bc6c..89ce16f6af 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -18,7 +18,8 @@
;;; Copyright © 2021 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
-;;; Copyright © 2022 Andrew Tropin <andrew@trop.in>
+;;; Copyright © 2022, 2023 Andrew Tropin <andrew@trop.in>
+;;; Copyright © 2023 Declan Tsien <declantsien@riseup.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1265,6 +1266,8 @@ wireless networking."))))
(connman connman-configuration-connman
(default connman))
(disable-vpn? connman-configuration-disable-vpn?
+ (default #f))
+ (iwd? connman-configuration-iwd?
(default #f)))
(define (connman-activation config)
@@ -1281,18 +1284,21 @@ wireless networking."))))
(and
(connman-configuration? config)
(let ((connman (connman-configuration-connman config))
- (disable-vpn? (connman-configuration-disable-vpn? config)))
+ (disable-vpn? (connman-configuration-disable-vpn? config))
+ (iwd? (connman-configuration-iwd? config)))
(list (shepherd-service
(documentation "Run Connman")
(provision '(networking))
(requirement
- '(user-processes dbus-system loopback wpa-supplicant))
+ (append '(user-processes dbus-system loopback)
+ (if iwd? '(iwd) '())))
(start #~(make-forkexec-constructor
(list (string-append #$connman
"/sbin/connmand")
"--nodaemon"
"--nodnsproxy"
- #$@(if disable-vpn? '("--noplugin=vpn") '()))
+ #$@(if disable-vpn? '("--noplugin=vpn") '())
+ #$@(if iwd? '("--wifi=iwd_agent") '()))
;; As connman(8) notes, when passing '-n', connman
;; "directs log output to the controlling terminal in