* [bug#30991] [PATCH 0/2] Add ModemManager service. @ 2018-03-29 18:28 Danny Milosavljevic 2018-03-29 18:33 ` [bug#30991] [PATCH 1/2] services: Add modem-manager-service-type Danny Milosavljevic ` (2 more replies) 0 siblings, 3 replies; 22+ messages in thread From: Danny Milosavljevic @ 2018-03-29 18:28 UTC (permalink / raw) To: 30991 Danny Milosavljevic (2): services: Add modem-manager-service-type. services: Add ModemManager to '%desktop-services'. doc/guix.texi | 22 ++++++++++++++++++++++ gnu/services/desktop.scm | 1 + gnu/services/networking.scm | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+) ^ permalink raw reply [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH 1/2] services: Add modem-manager-service-type. 2018-03-29 18:28 [bug#30991] [PATCH 0/2] Add ModemManager service Danny Milosavljevic @ 2018-03-29 18:33 ` Danny Milosavljevic 2018-03-29 18:33 ` [bug#30991] [PATCH 2/2] services: Add ModemManager to '%desktop-services' Danny Milosavljevic 2018-03-29 19:15 ` [bug#30991] [PATCH 0/2] Add ModemManager service Danny Milosavljevic 2018-03-29 22:21 ` [bug#30991] [PATCH v2 0/3] " Danny Milosavljevic 2 siblings, 1 reply; 22+ messages in thread From: Danny Milosavljevic @ 2018-03-29 18:33 UTC (permalink / raw) To: 30991 * 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. --- doc/guix.texi | 22 ++++++++++++++++++++++ gnu/services/networking.scm | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 25c08b9f0..23b7ae089 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -10712,6 +10712,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 6ac440fd2..660ec162b 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -30,6 +30,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) @@ -90,6 +91,9 @@ connman-configuration? connman-service-type + modem-manager-configuration + modem-manager-configuration? + modem-manager-service-type wpa-supplicant-service-type openvswitch-service-type @@ -890,6 +894,17 @@ and @command{wicd-curses} user interfaces." (service wicd-service-type wicd)) \f +;;; +;;; 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))) + +\f ;;; ;;; NetworkManager ;;; @@ -1027,6 +1042,26 @@ wireless networking.")))) a network connection manager.")))) \f +;;; +;;; 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))) + (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.")))) + +\f ;;; ;;; WPA supplicant ;;; ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH 2/2] services: Add ModemManager to '%desktop-services'. 2018-03-29 18:33 ` [bug#30991] [PATCH 1/2] services: Add modem-manager-service-type Danny Milosavljevic @ 2018-03-29 18:33 ` Danny Milosavljevic 0 siblings, 0 replies; 22+ messages in thread From: Danny Milosavljevic @ 2018-03-29 18:33 UTC (permalink / raw) To: 30991 * gnu/services/desktop.scm (%desktop-services): Add ModemManager. --- gnu/services/desktop.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 897252917..00f5c105b 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -898,6 +898,7 @@ with the administrator's password." (simple-service 'mtp udev-service-type (list libmtp)) ;; The D-Bus clique. + (service modem-manager-service-type) (service network-manager-service-type) (service wpa-supplicant-service-type) ;needed by NetworkManager (avahi-service) ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH 0/2] Add ModemManager service. 2018-03-29 18:28 [bug#30991] [PATCH 0/2] Add ModemManager service Danny Milosavljevic 2018-03-29 18:33 ` [bug#30991] [PATCH 1/2] services: Add modem-manager-service-type Danny Milosavljevic @ 2018-03-29 19:15 ` Danny Milosavljevic 2018-03-29 22:21 ` [bug#30991] [PATCH v2 0/3] " Danny Milosavljevic 2 siblings, 0 replies; 22+ messages in thread From: Danny Milosavljevic @ 2018-03-29 19:15 UTC (permalink / raw) To: 30991 [-- Attachment #1: Type: text/plain, Size: 328 bytes --] I'd also like to extend udev-service-type in modem-manager-service-type - but that would create a cycle (gnu services networking) - (gnu services base). Can we fix this please? A way is to move static-networking-service into (gnu services base). Or move %base-services to a new module (gnu base-services) or whatever. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH v2 0/3] Add ModemManager service. 2018-03-29 18:28 [bug#30991] [PATCH 0/2] Add ModemManager service Danny Milosavljevic 2018-03-29 18:33 ` [bug#30991] [PATCH 1/2] services: Add modem-manager-service-type Danny Milosavljevic 2018-03-29 19:15 ` [bug#30991] [PATCH 0/2] Add ModemManager service Danny Milosavljevic @ 2018-03-29 22:21 ` Danny Milosavljevic 2018-03-29 22:21 ` [bug#30991] [PATCH v2 1/3] services: Move static-networking to (gnu services base) Danny Milosavljevic ` (2 more replies) 2 siblings, 3 replies; 22+ messages in thread From: Danny Milosavljevic @ 2018-03-29 22:21 UTC (permalink / raw) To: 30991 Danny Milosavljevic (3): services: Move static-networking to (gnu services base). services: Add modem-manager-service-type. services: Add ModemManager to '%desktop-services'. doc/guix.texi | 22 +++++ gnu/services/base.scm | 160 ++++++++++++++++++++++++++++++++++- gnu/services/desktop.scm | 1 + gnu/services/networking.scm | 199 +++++++++----------------------------------- 4 files changed, 222 insertions(+), 160 deletions(-) ^ permalink raw reply [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH v2 1/3] services: Move static-networking to (gnu services base). 2018-03-29 22:21 ` [bug#30991] [PATCH v2 0/3] " Danny Milosavljevic @ 2018-03-29 22:21 ` Danny Milosavljevic 2018-03-31 16:13 ` Ludovic Courtès 2018-03-29 22:21 ` [bug#30991] [PATCH v2 2/3] services: Add modem-manager-service-type Danny Milosavljevic 2018-03-29 22:21 ` [bug#30991] [PATCH v2 3/3] services: Add ModemManager to '%desktop-services' Danny Milosavljevic 2 siblings, 1 reply; 22+ messages in thread From: Danny Milosavljevic @ 2018-03-29 22:21 UTC (permalink / raw) To: 30991 * gnu/services/networking.scm (static-networking, static-networking?, static-networking-interface, static-networking-ip, static-networking-netmask, static-networking-gateway, static-networking-requirement, static-networking-service, static-networking-service-type): Move to... * gnu/services/base.scm: ...here. --- gnu/services/base.scm | 160 +++++++++++++++++++++++++++++++++++++++++++- gnu/services/networking.scm | 160 +------------------------------------------- 2 files changed, 160 insertions(+), 160 deletions(-) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index be1bfce57..694aab882 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -26,7 +26,6 @@ #:use-module (guix store) #:use-module (gnu services) #:use-module (gnu services shepherd) - #:use-module (gnu services networking) #:use-module (gnu system pam) #:use-module (gnu system shadow) ; 'user-account', etc. #:use-module (gnu system uuid) @@ -64,6 +63,18 @@ console-font-service virtual-terminal-service-type + static-networking + + static-networking? + static-networking-interface + static-networking-ip + static-networking-netmask + static-networking-gateway + static-networking-requirement + + static-networking-service + static-networking-service-type + udev-configuration udev-configuration? udev-configuration-rules @@ -2045,6 +2056,153 @@ This service is not part of @var{%base-services}." (start #~(make-forkexec-constructor #$kmscon-command)) (stop #~(make-kill-destructor))))))) +(define-record-type* <static-networking> + static-networking make-static-networking + static-networking? + (interface static-networking-interface) + (ip static-networking-ip) + (netmask static-networking-netmask + (default #f)) + (gateway static-networking-gateway ;FIXME: doesn't belong here + (default #f)) + (provision static-networking-provision + (default #f)) + (requirement static-networking-requirement + (default '())) + (name-servers static-networking-name-servers ;FIXME: doesn't belong here + (default '()))) + +(define static-networking-shepherd-service + (match-lambda + (($ <static-networking> interface ip netmask gateway provision + requirement name-servers) + (let ((loopback? (and provision (memq 'loopback provision)))) + (shepherd-service + + (documentation + "Bring up the networking interface using a static IP address.") + (requirement requirement) + (provision (or provision + (list (symbol-append 'networking- + (string->symbol interface))))) + + (start #~(lambda _ + ;; Return #t if successfully started. + (let* ((addr (inet-pton AF_INET #$ip)) + (sockaddr (make-socket-address AF_INET addr 0)) + (mask (and #$netmask + (inet-pton AF_INET #$netmask))) + (maskaddr (and mask + (make-socket-address AF_INET + mask 0))) + (gateway (and #$gateway + (inet-pton AF_INET #$gateway))) + (gatewayaddr (and gateway + (make-socket-address AF_INET + gateway 0)))) + (configure-network-interface #$interface sockaddr + (logior IFF_UP + #$(if loopback? + #~IFF_LOOPBACK + 0)) + #:netmask maskaddr) + (when gateway + (let ((sock (socket AF_INET SOCK_DGRAM 0))) + (add-network-route/gateway sock gatewayaddr) + (close-port sock)))))) + (stop #~(lambda _ + ;; Return #f is successfully stopped. + (let ((sock (socket AF_INET SOCK_STREAM 0))) + (when #$gateway + (delete-network-route sock + (make-socket-address + AF_INET INADDR_ANY 0))) + (set-network-interface-flags sock #$interface 0) + (close-port sock) +: #f))) + (respawn? #f)))))) + +(define (static-networking-etc-files interfaces) + "Return a /etc/resolv.conf entry for INTERFACES or the empty list." + (match (delete-duplicates + (append-map static-networking-name-servers + interfaces)) + (() + '()) + ((name-servers ...) + (let ((content (string-join + (map (cut string-append "nameserver " <>) + name-servers) + "\n" 'suffix))) + `(("resolv.conf" + ,(plain-file "resolv.conf" + (string-append "\ +# Generated by 'static-networking-service'.\n" + content)))))))) + +(define (static-networking-shepherd-services interfaces) + "Return the list of Shepherd services to bring up INTERFACES, a list of +<static-networking> objects." + (define (loopback? service) + (memq 'loopback (shepherd-service-provision service))) + + (let ((services (map static-networking-shepherd-service interfaces))) + (match (remove loopback? services) + (() + ;; There's no interface other than 'loopback', so we assume that the + ;; 'networking' service will be provided by dhclient or similar. + services) + ((non-loopback ...) + ;; Assume we're providing all the interfaces, and thus, provide a + ;; 'networking' service. + (cons (shepherd-service + (provision '(networking)) + (requirement (append-map shepherd-service-provision + services)) + (start #~(const #t)) + (stop #~(const #f)) + (documentation "Bring up all the networking interfaces.")) + services))))) + +(define static-networking-service-type + ;; The service type for statically-defined network interfaces. + (service-type (name 'static-networking) + (extensions + (list + (service-extension shepherd-root-service-type + static-networking-shepherd-services) + (service-extension etc-service-type + static-networking-etc-files))) + (compose concatenate) + (extend append) + (description + "Turn up the specified network interfaces upon startup, +with the given IP address, gateway, netmask, and so on. The value for +services of this type is a list of @code{static-networking} objects, one per +network interface."))) + +(define* (static-networking-service interface ip + #:key + netmask gateway provision + ;; Most interfaces require udev to be usable. + (requirement '(udev)) + (name-servers '())) + "Return a service that starts @var{interface} with address @var{ip}. If +@var{netmask} is true, use it as the network mask. If @var{gateway} is true, +it must be a string specifying the default network gateway. + +This procedure can be called several times, one for each network +interface of interest. Behind the scenes what it does is extend +@code{static-networking-service-type} with additional network interfaces +to handle." + (simple-service 'static-network-interface + static-networking-service-type + (list (static-networking (interface interface) (ip ip) + (netmask netmask) (gateway gateway) + (provision provision) + (requirement requirement) + (name-servers name-servers))))) + \f (define %base-services ;; Convenience variable holding the basic services. diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 6ac440fd2..da96bbeb5 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -24,6 +24,7 @@ (define-module (gnu services networking) #:use-module (gnu services) + #:use-module (gnu services base) #:use-module (gnu services shepherd) #:use-module (gnu services dbus) #:use-module (gnu system shadow) @@ -45,17 +46,6 @@ #:use-module (srfi srfi-26) #:use-module (ice-9 match) #:export (%facebook-host-aliases - static-networking - - static-networking? - static-networking-interface - static-networking-ip - static-networking-netmask - static-networking-gateway - static-networking-requirement - - static-networking-service - static-networking-service-type dhcp-client-service %ntp-servers @@ -134,154 +124,6 @@ fe80::1%lo0 connect.facebook.net fe80::1%lo0 www.connect.facebook.net fe80::1%lo0 apps.facebook.com\n") - -(define-record-type* <static-networking> - static-networking make-static-networking - static-networking? - (interface static-networking-interface) - (ip static-networking-ip) - (netmask static-networking-netmask - (default #f)) - (gateway static-networking-gateway ;FIXME: doesn't belong here - (default #f)) - (provision static-networking-provision - (default #f)) - (requirement static-networking-requirement - (default '())) - (name-servers static-networking-name-servers ;FIXME: doesn't belong here - (default '()))) - -(define static-networking-shepherd-service - (match-lambda - (($ <static-networking> interface ip netmask gateway provision - requirement name-servers) - (let ((loopback? (and provision (memq 'loopback provision)))) - (shepherd-service - - (documentation - "Bring up the networking interface using a static IP address.") - (requirement requirement) - (provision (or provision - (list (symbol-append 'networking- - (string->symbol interface))))) - - (start #~(lambda _ - ;; Return #t if successfully started. - (let* ((addr (inet-pton AF_INET #$ip)) - (sockaddr (make-socket-address AF_INET addr 0)) - (mask (and #$netmask - (inet-pton AF_INET #$netmask))) - (maskaddr (and mask - (make-socket-address AF_INET - mask 0))) - (gateway (and #$gateway - (inet-pton AF_INET #$gateway))) - (gatewayaddr (and gateway - (make-socket-address AF_INET - gateway 0)))) - (configure-network-interface #$interface sockaddr - (logior IFF_UP - #$(if loopback? - #~IFF_LOOPBACK - 0)) - #:netmask maskaddr) - (when gateway - (let ((sock (socket AF_INET SOCK_DGRAM 0))) - (add-network-route/gateway sock gatewayaddr) - (close-port sock)))))) - (stop #~(lambda _ - ;; Return #f is successfully stopped. - (let ((sock (socket AF_INET SOCK_STREAM 0))) - (when #$gateway - (delete-network-route sock - (make-socket-address - AF_INET INADDR_ANY 0))) - (set-network-interface-flags sock #$interface 0) - (close-port sock) - #f))) - (respawn? #f)))))) - -(define (static-networking-etc-files interfaces) - "Return a /etc/resolv.conf entry for INTERFACES or the empty list." - (match (delete-duplicates - (append-map static-networking-name-servers - interfaces)) - (() - '()) - ((name-servers ...) - (let ((content (string-join - (map (cut string-append "nameserver " <>) - name-servers) - "\n" 'suffix))) - `(("resolv.conf" - ,(plain-file "resolv.conf" - (string-append "\ -# Generated by 'static-networking-service'.\n" - content)))))))) - -(define (static-networking-shepherd-services interfaces) - "Return the list of Shepherd services to bring up INTERFACES, a list of -<static-networking> objects." - (define (loopback? service) - (memq 'loopback (shepherd-service-provision service))) - - (let ((services (map static-networking-shepherd-service interfaces))) - (match (remove loopback? services) - (() - ;; There's no interface other than 'loopback', so we assume that the - ;; 'networking' service will be provided by dhclient or similar. - services) - ((non-loopback ...) - ;; Assume we're providing all the interfaces, and thus, provide a - ;; 'networking' service. - (cons (shepherd-service - (provision '(networking)) - (requirement (append-map shepherd-service-provision - services)) - (start #~(const #t)) - (stop #~(const #f)) - (documentation "Bring up all the networking interfaces.")) - services))))) - -(define static-networking-service-type - ;; The service type for statically-defined network interfaces. - (service-type (name 'static-networking) - (extensions - (list - (service-extension shepherd-root-service-type - static-networking-shepherd-services) - (service-extension etc-service-type - static-networking-etc-files))) - (compose concatenate) - (extend append) - (description - "Turn up the specified network interfaces upon startup, -with the given IP address, gateway, netmask, and so on. The value for -services of this type is a list of @code{static-networking} objects, one per -network interface."))) - -(define* (static-networking-service interface ip - #:key - netmask gateway provision - ;; Most interfaces require udev to be usable. - (requirement '(udev)) - (name-servers '())) - "Return a service that starts @var{interface} with address @var{ip}. If -@var{netmask} is true, use it as the network mask. If @var{gateway} is true, -it must be a string specifying the default network gateway. - -This procedure can be called several times, one for each network -interface of interest. Behind the scenes what it does is extend -@code{static-networking-service-type} with additional network interfaces -to handle." - (simple-service 'static-network-interface - static-networking-service-type - (list (static-networking (interface interface) (ip ip) - (netmask netmask) (gateway gateway) - (provision provision) - (requirement requirement) - (name-servers name-servers))))) - (define dhcp-client-service-type (shepherd-service-type 'dhcp-client ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH v2 1/3] services: Move static-networking to (gnu services base). 2018-03-29 22:21 ` [bug#30991] [PATCH v2 1/3] services: Move static-networking to (gnu services base) Danny Milosavljevic @ 2018-03-31 16:13 ` Ludovic Courtès 2018-04-01 8:16 ` Danny Milosavljevic 0 siblings, 1 reply; 22+ messages in thread From: Ludovic Courtès @ 2018-03-31 16:13 UTC (permalink / raw) To: Danny Milosavljevic; +Cc: 30991 Danny Milosavljevic <dannym@scratchpost.org> skribis: > * gnu/services/networking.scm (static-networking, static-networking?, > static-networking-interface, static-networking-ip, static-networking-netmask, > static-networking-gateway, static-networking-requirement, > static-networking-service, static-networking-service-type): Move to... > * gnu/services/base.scm: ...here. What’s the reason? Is there a module cross-dependency issue or something? > + (stop #~(lambda _ > + ;; Return #f is successfully stopped. > + (let ((sock (socket AF_INET SOCK_STREAM 0))) > + (when #$gateway > + (delete-network-route sock > + (make-socket-address > + AF_INET INADDR_ANY 0))) > + (set-network-interface-flags sock #$interface 0) > + (close-port sock) > +: #f))) ^ A cat walked on the keyboard. :-) Ludo’. ^ permalink raw reply [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH v2 1/3] services: Move static-networking to (gnu services base). 2018-03-31 16:13 ` Ludovic Courtès @ 2018-04-01 8:16 ` Danny Milosavljevic 2018-04-01 9:38 ` Ludovic Courtès 0 siblings, 1 reply; 22+ messages in thread From: Danny Milosavljevic @ 2018-04-01 8:16 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 30991 [-- Attachment #1: Type: text/plain, Size: 997 bytes --] Hi Ludo, On Sat, 31 Mar 2018 18:13:33 +0200 ludo@gnu.org (Ludovic Courtès) wrote: > Danny Milosavljevic <dannym@scratchpost.org> skribis: > > > * gnu/services/networking.scm (static-networking, static-networking?, > > static-networking-interface, static-networking-ip, static-networking-netmask, > > static-networking-gateway, static-networking-requirement, > > static-networking-service, static-networking-service-type): Move to... > > * gnu/services/base.scm: ...here. > > What’s the reason? Is there a module cross-dependency issue or > something? Yes, (gnu services base) uses (gnu services networking), and now I wanted to use (gnu services networking) in (gnu services base) - because I extend udev service and it's in the latter. but I thought of a better way to resolve it: Just put modem-manager service into (gnu services base) to begin with. Testing... > > +: #f))) > ^ > A cat walked on the keyboard. :-) Hehe, oops! [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH v2 1/3] services: Move static-networking to (gnu services base). 2018-04-01 8:16 ` Danny Milosavljevic @ 2018-04-01 9:38 ` Ludovic Courtès 0 siblings, 0 replies; 22+ messages in thread From: Ludovic Courtès @ 2018-04-01 9:38 UTC (permalink / raw) To: Danny Milosavljevic; +Cc: 30991 Hello! Danny Milosavljevic <dannym@scratchpost.org> skribis: > On Sat, 31 Mar 2018 18:13:33 +0200 > ludo@gnu.org (Ludovic Courtès) wrote: > >> Danny Milosavljevic <dannym@scratchpost.org> skribis: >> >> > * gnu/services/networking.scm (static-networking, static-networking?, >> > static-networking-interface, static-networking-ip, static-networking-netmask, >> > static-networking-gateway, static-networking-requirement, >> > static-networking-service, static-networking-service-type): Move to... >> > * gnu/services/base.scm: ...here. >> >> What’s the reason? Is there a module cross-dependency issue or >> something? > > Yes, (gnu services base) uses (gnu services networking), and now I wanted > to use (gnu services networking) in (gnu services base) - because > I extend udev service and it's in the latter. I see. > but I thought of a better way to resolve it: Just put modem-manager service > into (gnu services base) to begin with. Testing... I’d actually prefer the initial approach—moving ‘static-networking-service-type’ to (gnu services base). That seems more logical to me. Thanks, Ludo’. ^ permalink raw reply [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH v2 2/3] services: Add modem-manager-service-type. 2018-03-29 22:21 ` [bug#30991] [PATCH v2 0/3] " Danny Milosavljevic 2018-03-29 22:21 ` [bug#30991] [PATCH v2 1/3] services: Move static-networking to (gnu services base) Danny Milosavljevic @ 2018-03-29 22:21 ` Danny Milosavljevic 2018-03-31 16:14 ` Ludovic Courtès 2018-03-31 18:39 ` Björn Höfling 2018-03-29 22:21 ` [bug#30991] [PATCH v2 3/3] services: Add ModemManager to '%desktop-services' Danny Milosavljevic 2 siblings, 2 replies; 22+ messages in thread From: Danny Milosavljevic @ 2018-03-29 22:21 UTC (permalink / raw) To: 30991 * 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. --- doc/guix.texi | 22 ++++++++++++++++++++++ gnu/services/networking.scm | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 25c08b9f0..23b7ae089 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -10712,6 +10712,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 da96bbeb5..5092a5f35 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) @@ -80,6 +81,9 @@ connman-configuration? connman-service-type + modem-manager-configuration + modem-manager-configuration? + modem-manager-service-type wpa-supplicant-service-type openvswitch-service-type @@ -732,6 +736,17 @@ and @command{wicd-curses} user interfaces." (service wicd-service-type wicd)) \f +;;; +;;; 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))) + +\f ;;; ;;; NetworkManager ;;; @@ -869,6 +884,30 @@ wireless networking.")))) a network connection manager.")))) \f +;;; +;;; 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.")))) + +\f ;;; ;;; WPA supplicant ;;; ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH v2 2/3] services: Add modem-manager-service-type. 2018-03-29 22:21 ` [bug#30991] [PATCH v2 2/3] services: Add modem-manager-service-type Danny Milosavljevic @ 2018-03-31 16:14 ` Ludovic Courtès 2018-09-04 13:22 ` Ludovic Courtès 2018-03-31 18:39 ` Björn Höfling 1 sibling, 1 reply; 22+ messages in thread From: Ludovic Courtès @ 2018-03-31 16:14 UTC (permalink / raw) To: Danny Milosavljevic; +Cc: 30991 Danny Milosavljevic <dannym@scratchpost.org> skribis: > * 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. LGTM, thanks! Ludo'. ^ permalink raw reply [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH v2 2/3] services: Add modem-manager-service-type. 2018-03-31 16:14 ` Ludovic Courtès @ 2018-09-04 13:22 ` Ludovic Courtès 2018-09-04 19:41 ` Danny Milosavljevic 0 siblings, 1 reply; 22+ messages in thread From: Ludovic Courtès @ 2018-09-04 13:22 UTC (permalink / raw) To: Danny Milosavljevic; +Cc: 30991 Hello Danny, ludo@gnu.org (Ludovic Courtès) skribis: > Danny Milosavljevic <dannym@scratchpost.org> skribis: > >> * 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. > > LGTM, thanks! Ping! :-) I think the only question was about patch 3/3, which adds ModemManager to ‘%desktop-services’. I’m in favor of dropping patch 3/3, but regardless patches 1/3 (the variant that moves ‘static-networking-service-type’ to (gnu services base), as we discussed) and 2/3 can definitely go in! Thanks, Ludo’. ^ permalink raw reply [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH v2 2/3] services: Add modem-manager-service-type. 2018-09-04 13:22 ` Ludovic Courtès @ 2018-09-04 19:41 ` Danny Milosavljevic 2018-09-04 20:53 ` Ludovic Courtès 0 siblings, 1 reply; 22+ messages in thread From: Danny Milosavljevic @ 2018-09-04 19:41 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 30991 [-- Attachment #1: Type: text/plain, Size: 850 bytes --] Hi Ludo, On Tue, 04 Sep 2018 15:22:07 +0200 ludo@gnu.org (Ludovic Courtès) wrote: > I think the only question was about patch 3/3, which adds ModemManager > to ‘%desktop-services’. I’m in favor of dropping patch 3/3, but > regardless patches 1/3 (the variant that moves > ‘static-networking-service-type’ to (gnu services base), as we > discussed) and 2/3 can definitely go in! It already is in master. I guess I left the bug report open so far - probably because of the %desktop-services . I still want to underline that there should be a way for a regular user to bootstrap from the GuixSD image to a "guix pull"-able system using his existing internet connection - otherwise the first impression is bad. This means that the GuixSD image needs to have at least pppd, and maybe modem-manager too (maybe not). [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH v2 2/3] services: Add modem-manager-service-type. 2018-09-04 19:41 ` Danny Milosavljevic @ 2018-09-04 20:53 ` Ludovic Courtès 2018-09-04 21:16 ` Danny Milosavljevic 0 siblings, 1 reply; 22+ messages in thread From: Ludovic Courtès @ 2018-09-04 20:53 UTC (permalink / raw) To: Danny Milosavljevic; +Cc: 30991 Hello Danny, Danny Milosavljevic <dannym@scratchpost.org> skribis: > On Tue, 04 Sep 2018 15:22:07 +0200 > ludo@gnu.org (Ludovic Courtès) wrote: > >> I think the only question was about patch 3/3, which adds ModemManager >> to ‘%desktop-services’. I’m in favor of dropping patch 3/3, but >> regardless patches 1/3 (the variant that moves >> ‘static-networking-service-type’ to (gnu services base), as we >> discussed) and 2/3 can definitely go in! > > It already is in master. I guess I left the bug report open so far - probably > because of the %desktop-services . Oh, silly me. > I still want to underline that there should be a way for a regular user > to bootstrap from the GuixSD image to a "guix pull"-able system using > his existing internet connection - otherwise the first impression is bad. > > This means that the GuixSD image needs to have at least pppd, and > maybe modem-manager too (maybe not). I agree in principle, though, as I wrote, I think we need to strike a balance between popularity and overhead, so to speak. ModemManager currently takes quite a bit of extra space, which is why I’m reluctant. Do you think this can be optimized? Or would pppd enough be convenient? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH v2 2/3] services: Add modem-manager-service-type. 2018-09-04 20:53 ` Ludovic Courtès @ 2018-09-04 21:16 ` Danny Milosavljevic 0 siblings, 0 replies; 22+ messages in thread From: Danny Milosavljevic @ 2018-09-04 21:16 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 30991 [-- Attachment #1: Type: text/plain, Size: 399 bytes --] Hi Ludo, On Tue, 04 Sep 2018 22:53:19 +0200 ludo@gnu.org (Ludovic Courtès) wrote: > Do you think this can be optimized? I'll check. >Or would pppd enough be convenient? I think that pppd would work on the vast majority of modems (slow transfer speeds sometimes since many modems need network card emulation for the faster modes - but they do work with PPP just fine, just slow). [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH v2 2/3] services: Add modem-manager-service-type. 2018-03-29 22:21 ` [bug#30991] [PATCH v2 2/3] services: Add modem-manager-service-type Danny Milosavljevic 2018-03-31 16:14 ` Ludovic Courtès @ 2018-03-31 18:39 ` Björn Höfling 1 sibling, 0 replies; 22+ messages in thread From: Björn Höfling @ 2018-03-31 18:39 UTC (permalink / raw) To: Danny Milosavljevic; +Cc: 30991 [-- Attachment #1: Type: text/plain, Size: 1899 bytes --] On Fri, 30 Mar 2018 00:21:39 +0200 Danny Milosavljevic <dannym@scratchpost.org> wrote: > * 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. > --- > doc/guix.texi | 22 ++++++++++++++++++++++ > gnu/services/networking.scm | 39 > +++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 > insertions(+) > > diff --git a/doc/guix.texi b/doc/guix.texi > index 25c08b9f0..23b7ae089 100644 > --- a/doc/guix.texi > +++ b/doc/guix.texi > @@ -10712,6 +10712,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. See below ... [..] > diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm > index da96bbeb5..5092a5f35 100644 > --- a/gnu/services/networking.scm > +++ b/gnu/services/networking.scm [..] > +(define modem-manager-service-type [..] > + (description > + "Run > @uref{https://wiki.gnome.org/Projects/ModemManager, +ModemManager}, a > modem management daemon that aims to simplify dialup +networking.")))) URL in texinfo and here: This page says only "This page does not exist yet. You can create a new empty page, or use one of the page templates. " I found this one working, but it's the unstable version: https://developer.gnome.org/ModemManager/unstable/ Björn [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 181 bytes --] ^ permalink raw reply [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH v2 3/3] services: Add ModemManager to '%desktop-services'. 2018-03-29 22:21 ` [bug#30991] [PATCH v2 0/3] " Danny Milosavljevic 2018-03-29 22:21 ` [bug#30991] [PATCH v2 1/3] services: Move static-networking to (gnu services base) Danny Milosavljevic 2018-03-29 22:21 ` [bug#30991] [PATCH v2 2/3] services: Add modem-manager-service-type Danny Milosavljevic @ 2018-03-29 22:21 ` Danny Milosavljevic 2018-03-31 16:08 ` Ludovic Courtès 2 siblings, 1 reply; 22+ messages in thread From: Danny Milosavljevic @ 2018-03-29 22:21 UTC (permalink / raw) To: 30991 * gnu/services/desktop.scm (%desktop-services): Add ModemManager. --- gnu/services/desktop.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 897252917..00f5c105b 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -898,6 +898,7 @@ with the administrator's password." (simple-service 'mtp udev-service-type (list libmtp)) ;; The D-Bus clique. + (service modem-manager-service-type) (service network-manager-service-type) (service wpa-supplicant-service-type) ;needed by NetworkManager (avahi-service) ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH v2 3/3] services: Add ModemManager to '%desktop-services'. 2018-03-29 22:21 ` [bug#30991] [PATCH v2 3/3] services: Add ModemManager to '%desktop-services' Danny Milosavljevic @ 2018-03-31 16:08 ` Ludovic Courtès 2018-05-01 9:58 ` Danny Milosavljevic 0 siblings, 1 reply; 22+ messages in thread From: Ludovic Courtès @ 2018-03-31 16:08 UTC (permalink / raw) To: Danny Milosavljevic; +Cc: 30991 Hello Danny, Danny Milosavljevic <dannym@scratchpost.org> skribis: > * gnu/services/desktop.scm (%desktop-services): Add ModemManager. I would not add it to ‘%desktop-services’ because I’d think it’s not a very common requirement, but I don’t know. WDYT? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH v2 3/3] services: Add ModemManager to '%desktop-services'. 2018-03-31 16:08 ` Ludovic Courtès @ 2018-05-01 9:58 ` Danny Milosavljevic 2018-05-06 21:00 ` Ludovic Courtès 0 siblings, 1 reply; 22+ messages in thread From: Danny Milosavljevic @ 2018-05-01 9:58 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 30991 [-- Attachment #1: Type: text/plain, Size: 494 bytes --] Hi Ludo, On Sat, 31 Mar 2018 18:08:35 +0200 ludo@gnu.org (Ludovic Courtès) wrote: > Danny Milosavljevic <dannym@scratchpost.org> skribis: > > > * gnu/services/desktop.scm (%desktop-services): Add ModemManager. > > I would not add it to ‘%desktop-services’ because I’d think it’s not a > very common requirement, but I don’t know. WDYT? Do we need internet in order to install GuixSD? Then modem-manager should at least be available in the installation image. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH v2 3/3] services: Add ModemManager to '%desktop-services'. 2018-05-01 9:58 ` Danny Milosavljevic @ 2018-05-06 21:00 ` Ludovic Courtès 2018-05-08 7:04 ` Danny Milosavljevic 0 siblings, 1 reply; 22+ messages in thread From: Ludovic Courtès @ 2018-05-06 21:00 UTC (permalink / raw) To: Danny Milosavljevic; +Cc: 30991 Hello Danny, Danny Milosavljevic <dannym@scratchpost.org> skribis: > On Sat, 31 Mar 2018 18:08:35 +0200 > ludo@gnu.org (Ludovic Courtès) wrote: > >> Danny Milosavljevic <dannym@scratchpost.org> skribis: >> >> > * gnu/services/desktop.scm (%desktop-services): Add ModemManager. >> >> I would not add it to ‘%desktop-services’ because I’d think it’s not a >> very common requirement, but I don’t know. WDYT? > > Do we need internet in order to install GuixSD? > > Then modem-manager should at least be available in the installation image. I think this is orthogonal to the question of adding it to ‘%desktop-services’ since the installation image doesn’t rely on ‘%desktop-services’. Nevertheless, this will all be a matter of size, usability, and documentation. If it adds “too much” to the size of the installation image, I’d be rather against it. If we do add it to the installation image, then we’ll have to document it a little. But then, at this point we should also consider adding NetworkManager to the installation image. WDYT? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH v2 3/3] services: Add ModemManager to '%desktop-services'. 2018-05-06 21:00 ` Ludovic Courtès @ 2018-05-08 7:04 ` Danny Milosavljevic 2018-05-08 13:35 ` Ludovic Courtès 0 siblings, 1 reply; 22+ messages in thread From: Danny Milosavljevic @ 2018-05-08 7:04 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 30991 [-- Attachment #1: Type: text/plain, Size: 1844 bytes --] Hi Ludo, On Sun, 06 May 2018 23:00:54 +0200 ludo@gnu.org (Ludovic Courtès) wrote: > >> I would not add it to ‘%desktop-services’ because I’d think it’s not a > >> very common requirement, but I don’t know. WDYT? > > > > Do we need internet in order to install GuixSD? > > > > Then modem-manager should at least be available in the installation image. > > I think this is orthogonal to the question of adding it to > ‘%desktop-services’ since the installation image doesn’t rely on > ‘%desktop-services’. True. I agree. > Nevertheless, this will all be a matter of size, usability, and > documentation. If it adds “too much” to the size of the installation > image, I’d be rather against it. Well, some way of getting to the internet eventually needs to be available somewhere. (it's fine if it's only in the installed system, so I guess compilation of everything is fine). In Austria the cellphone internet is very cheap - so almost everyone has it (and many have only that). That said, USB or Wifi tethering is common, too. I'm just trying to reduce the number of things I have to charge on the road :) GNU Linux distributions nowadays have trouble providing any kind of simple dialup installation - so it's more difficult to install GNU Linux here. I think that's ridiculous since the AT commands and PPP required to have some kind of internet didn't change sice circa 1985 - and it's small, too. (I didn't know ModemManager before I packaged it here - but it does some extra stuff like provide network card simulator integration for the extremely fast LTE modems) I still have not-so-fond memories of manually downloading a random wvdial binary and its dependencies in order to be able to install Gentoo. A normal person (TM) would just give up ;) [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 22+ messages in thread
* [bug#30991] [PATCH v2 3/3] services: Add ModemManager to '%desktop-services'. 2018-05-08 7:04 ` Danny Milosavljevic @ 2018-05-08 13:35 ` Ludovic Courtès 0 siblings, 0 replies; 22+ messages in thread From: Ludovic Courtès @ 2018-05-08 13:35 UTC (permalink / raw) To: Danny Milosavljevic; +Cc: 30991 Hi Danny, Danny Milosavljevic <dannym@scratchpost.org> skribis: > On Sun, 06 May 2018 23:00:54 +0200 > ludo@gnu.org (Ludovic Courtès) wrote: > >> >> I would not add it to ‘%desktop-services’ because I’d think it’s not a >> >> very common requirement, but I don’t know. WDYT? >> > >> > Do we need internet in order to install GuixSD? >> > >> > Then modem-manager should at least be available in the installation image. >> >> I think this is orthogonal to the question of adding it to >> ‘%desktop-services’ since the installation image doesn’t rely on >> ‘%desktop-services’. > > True. I agree. So do you still want to add ‘modem-manager’ to ‘%desktop-services’? :-) >> Nevertheless, this will all be a matter of size, usability, and >> documentation. If it adds “too much” to the size of the installation >> image, I’d be rather against it. > > Well, some way of getting to the internet eventually needs to be available > somewhere. > > (it's fine if it's only in the installed system, so I guess compilation > of everything is fine). > > In Austria the cellphone internet is very cheap - so almost everyone has it > (and many have only that). That said, USB or Wifi tethering is common, too. > > I'm just trying to reduce the number of things I have to charge on the road :) :-) I would expect people installing an OS to have Ethernet or WiFi. One gets WiFi even on the train nowadays. ;-) In terms of size it doesn’t look good: --8<---------------cut here---------------start------------->8--- $ guix size $(guix system build ~/src/guix/gnu/system/install.scm ) | tail -1 total: 1116.4 MiB $ guix size $(guix system build ~/src/guix/gnu/system/install.scm ) modem-manager | tail -1 total: 1346.0 MiB --8<---------------cut here---------------end--------------->8--- WDYT? (I actually fail to see how we end up with 1G in the first place…) > GNU Linux distributions nowadays have trouble providing any kind of simple > dialup installation - so it's more difficult to install GNU Linux here. > I think that's ridiculous since the AT commands and PPP required to have > some kind of internet didn't change sice circa 1985 - and it's small, too. > > (I didn't know ModemManager before I packaged it here - but it does > some extra stuff like provide network card simulator integration for the > extremely fast LTE modems) > > I still have not-so-fond memories of manually downloading a random wvdial > binary and its dependencies in order to be able to install Gentoo. A normal > person (TM) would just give up ;) Heheh. Thanks, Ludo’. ^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2018-09-04 21:17 UTC | newest] Thread overview: 22+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-03-29 18:28 [bug#30991] [PATCH 0/2] Add ModemManager service Danny Milosavljevic 2018-03-29 18:33 ` [bug#30991] [PATCH 1/2] services: Add modem-manager-service-type Danny Milosavljevic 2018-03-29 18:33 ` [bug#30991] [PATCH 2/2] services: Add ModemManager to '%desktop-services' Danny Milosavljevic 2018-03-29 19:15 ` [bug#30991] [PATCH 0/2] Add ModemManager service Danny Milosavljevic 2018-03-29 22:21 ` [bug#30991] [PATCH v2 0/3] " Danny Milosavljevic 2018-03-29 22:21 ` [bug#30991] [PATCH v2 1/3] services: Move static-networking to (gnu services base) Danny Milosavljevic 2018-03-31 16:13 ` Ludovic Courtès 2018-04-01 8:16 ` Danny Milosavljevic 2018-04-01 9:38 ` Ludovic Courtès 2018-03-29 22:21 ` [bug#30991] [PATCH v2 2/3] services: Add modem-manager-service-type Danny Milosavljevic 2018-03-31 16:14 ` Ludovic Courtès 2018-09-04 13:22 ` Ludovic Courtès 2018-09-04 19:41 ` Danny Milosavljevic 2018-09-04 20:53 ` Ludovic Courtès 2018-09-04 21:16 ` Danny Milosavljevic 2018-03-31 18:39 ` Björn Höfling 2018-03-29 22:21 ` [bug#30991] [PATCH v2 3/3] services: Add ModemManager to '%desktop-services' Danny Milosavljevic 2018-03-31 16:08 ` Ludovic Courtès 2018-05-01 9:58 ` Danny Milosavljevic 2018-05-06 21:00 ` Ludovic Courtès 2018-05-08 7:04 ` Danny Milosavljevic 2018-05-08 13:35 ` Ludovic Courtès
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).