services: network-manager: Deprecate 'iwd?' field.
* gnu/services/networking.scm (warn-iwd?-field-deprecation): New procedure, helper for deprecated field. (<network-manager-configuration>)[iwd?]: Use helper to warn deprecated field. (network-manager-shepherd-service): Make iwd? a local variable independent from the deprecated field. * doc/guix.texi (Networking Setup): Remove mention of iwd? field. Signed-off-by: Ludovic Courtès <ludo@gnu.org>master
parent
7777d767a4
commit
1e1b3ec012
|
@ -19890,10 +19890,6 @@ This is the list of available plugins for virtual private networks
|
||||||
(VPNs). An example of this is the @code{network-manager-openvpn}
|
(VPNs). An example of this is the @code{network-manager-openvpn}
|
||||||
package, which allows NetworkManager to manage VPNs @i{via} OpenVPN.
|
package, which allows NetworkManager to manage VPNs @i{via} OpenVPN.
|
||||||
|
|
||||||
@item @code{iwd?} (default: @code{#f})
|
|
||||||
NetworkManager will use iwd as a backend for wireless networking if this
|
|
||||||
option is set to @code{#t}, otherwise it will use wpa-supplicant.
|
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
||||||
|
|
|
@ -1136,6 +1136,15 @@ project's documentation} for more information."
|
||||||
;;; NetworkManager
|
;;; NetworkManager
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
|
;; TODO: deprecated field, remove later.
|
||||||
|
(define-with-syntax-properties (warn-iwd?-field-deprecation
|
||||||
|
(value properties))
|
||||||
|
(when value
|
||||||
|
(warning (source-properties->location properties)
|
||||||
|
(G_ "the 'iwd?' field is deprecated, please use \
|
||||||
|
'shepherd-requirement' field instead~%")))
|
||||||
|
value)
|
||||||
|
|
||||||
(define-record-type* <network-manager-configuration>
|
(define-record-type* <network-manager-configuration>
|
||||||
network-manager-configuration make-network-manager-configuration
|
network-manager-configuration make-network-manager-configuration
|
||||||
network-manager-configuration?
|
network-manager-configuration?
|
||||||
|
@ -1147,7 +1156,9 @@ project's documentation} for more information."
|
||||||
(default "default"))
|
(default "default"))
|
||||||
(vpn-plugins network-manager-configuration-vpn-plugins ;list of file-like
|
(vpn-plugins network-manager-configuration-vpn-plugins ;list of file-like
|
||||||
(default '()))
|
(default '()))
|
||||||
(iwd? network-manager-configuration-iwd? (default #f)))
|
(iwd? network-manager-configuration-iwd? ; TODO: deprecated field, remove.
|
||||||
|
(default #f)
|
||||||
|
(sanitize warn-iwd?-field-deprecation)))
|
||||||
|
|
||||||
(define (network-manager-activation config)
|
(define (network-manager-activation config)
|
||||||
;; Activation gexp for NetworkManager
|
;; Activation gexp for NetworkManager
|
||||||
|
@ -1204,7 +1215,10 @@ project's documentation} for more information."
|
||||||
(define (network-manager-shepherd-service config)
|
(define (network-manager-shepherd-service config)
|
||||||
(match-record config <network-manager-configuration>
|
(match-record config <network-manager-configuration>
|
||||||
(network-manager shepherd-requirement dns vpn-plugins iwd?)
|
(network-manager shepherd-requirement dns vpn-plugins iwd?)
|
||||||
(let ((conf (plain-file "NetworkManager.conf"
|
(let ((iwd? (or iwd? ; TODO: deprecated field, remove later.
|
||||||
|
(and shepherd-requirement
|
||||||
|
(memq 'iwd shepherd-requirement))))
|
||||||
|
(conf (plain-file "NetworkManager.conf"
|
||||||
(string-append
|
(string-append
|
||||||
"[main]\ndns=" dns "\n"
|
"[main]\ndns=" dns "\n"
|
||||||
(if iwd? "[device]\nwifi.backend=iwd\n" ""))))
|
(if iwd? "[device]\nwifi.backend=iwd\n" ""))))
|
||||||
|
@ -1214,6 +1228,8 @@ project's documentation} for more information."
|
||||||
(provision '(networking))
|
(provision '(networking))
|
||||||
(requirement `(user-processes dbus-system loopback
|
(requirement `(user-processes dbus-system loopback
|
||||||
,@shepherd-requirement
|
,@shepherd-requirement
|
||||||
|
;; TODO: iwd? is deprecated and should be passed
|
||||||
|
;; with shepherd-requirement, remove later.
|
||||||
,@(if iwd? '(iwd) '())))
|
,@(if iwd? '(iwd) '())))
|
||||||
(start #~(make-forkexec-constructor
|
(start #~(make-forkexec-constructor
|
||||||
(list (string-append #$network-manager
|
(list (string-append #$network-manager
|
||||||
|
|
Reference in New Issue