[PATCH 0/1] gnu: home: Add home-batsignal-service-type.

  • Done
  • quality assurance status badge
Details
2 participants
  • Andrew Tropin
  • (
Owner
unassigned
Submitted by
(
Severity
normal
(
(address . guix-patches@gnu.org)(name . ()(address . paren@disroot.org)
20220929163853.9019-1-paren@disroot.org
This patchset adds a home service for ``batsignal'', a power monitoring
daemon.

( (1):
gnu: home: Add home-batsignal-service-type.

doc/guix.texi | 89 ++++++++++++++++++++++--
gnu/home/services/pm.scm | 145 +++++++++++++++++++++++++++++++++++++++
gnu/local.mk | 2 +
3 files changed, 230 insertions(+), 6 deletions(-)
create mode 100644 gnu/home/services/pm.scm

--
2.37.3
(
[PATCH 1/1] gnu: home: Add home-batsignal-service-type.
(address . 58170@debbugs.gnu.org)(name . ()(address . paren@disroot.org)
20220929164020.9178-1-paren@disroot.org
* gnu/home/services/pm.scm (home-batsignal-service-type): New
variable.
(home-batsignal-configuration): New record type.
* doc/guix.texi: Document them.
* gnu/local.mk: Add gnu/home/services/pm.scm.
---
doc/guix.texi | 89 ++++++++++++++++++++++--
gnu/home/services/pm.scm | 145 +++++++++++++++++++++++++++++++++++++++
gnu/local.mk | 2 +
3 files changed, 230 insertions(+), 6 deletions(-)
create mode 100644 gnu/home/services/pm.scm

Toggle diff (287 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index c534574f81..081a7fb34f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -107,6 +107,7 @@ Copyright @copyright{} 2022 Karl Hallsby@*
Copyright @copyright{} 2022 Justin Veilleux@*
Copyright @copyright{} 2022 Reily Siegel@*
Copyright @copyright{} 2022 Simon Streit@*
+Copyright @copyright{} 2022 (@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -40119,12 +40120,13 @@ services)}.
@menu
* Essential Home Services:: Environment variables, packages, on-* scripts.
-* Shells: Shells Home Services. POSIX shells, Bash, Zsh.
-* Mcron: Mcron Home Service. Scheduled User's Job Execution.
-* Shepherd: Shepherd Home Service. Managing User's Daemons.
-* SSH: Secure Shell. Setting up the secure shell client.
-* Desktop: Desktop Home Services. Services for graphical environments.
-* Guix: Guix Home Services. Services for Guix.
+* Shells: Shells Home Services. POSIX shells, Bash, Zsh.
+* Mcron: Mcron Home Service. Scheduled User's Job Execution.
+* Power Management: Power Management Home Services. Services for battery power.
+* Shepherd: Shepherd Home Service. Managing User's Daemons.
+* SSH: Secure Shell. Setting up the secure shell client.
+* Desktop: Desktop Home Services. Services for graphical environments.
+* Guix: Guix Home Services. Services for Guix.
@end menu
@c In addition to that Home Services can provide
@@ -40572,6 +40574,81 @@ specifications,, mcron, GNU@tie{}mcron}).
@end table
@end deftp
+@node Power Management Home Services
+
+@cindex power management
+The @code{(gnu home services pm)} module provides home services
+pertaining to battery power.
+
+@defvr {Scheme Variable} home-batsignal-service-type
+Service for @code{batsignal}, a program that monitors battery levels
+and warns the user through desktop notifications when their battery
+is getting low. You can also configure a command to be run when the
+battery level passes a point deemed ``dangerous''. This service is
+configured with the @code{home-batsignal-configuration} record.
+@end defvr
+
+@deftp {Data Type} home-batsignal-configuration
+Data type representing the configuration for batsignal.
+
+@table @asis
+@item @code{warning-level} (default: @code{15})
+The battery level to send a warning message at.
+
+@item @code{warning-message} (default: @code{#f})
+The message to send as a notification when the battery level reaches
+the @code{warning-level}. Setting to @code{#f} uses the default
+message.
+
+@item @code{critical-level} (default: @code{5})
+The battery level to send a critical message at.
+
+@item @code{critical-message} (default: @code{#f})
+The message to send as a notification when the battery level reaches
+the @code{critical-level}. Setting to @code{#f} uses the default
+message.
+
+@item @code{danger-level} (default: @code{2})
+The battery level to run the @code{danger-command} at.
+
+@item @code{danger-command} (default: @code{#f})
+The command to run when the battery level reaches the @code{danger-level}.
+Setting to @code{#f} disables running the command entirely.
+
+@item @code{full-level} (default: @code{#f})
+The battery level to send a full message at. Setting to @code{#f}
+disables sending the full message entirely.
+
+@item @code{full-message} (default: @code{#f})
+The message to send as a notification when the battery level reaches
+the @code{full-level}. Setting to @code{#f} uses the default message.
+
+@item @code{batteries} (default: @code{'()})
+The batteries to monitor. Setting to @code{'()} tries to find batteries
+automatically.
+
+@item @code{poll-delay} (default: @code{60})
+The time in seconds to wait before checking the batteries again.
+
+@item @code{icon} (default: @code{#f})
+A file-like object to use as the icon for battery notifications. Setting
+to @code{#f} disables notification icons entirely.
+
+@item @code{notifications?} (default: @code{#t})
+Whether to send any notifications.
+
+@item @code{notifications-expire?} (default: @code{#f})
+Whether notifications sent expire after a time.
+
+@item @code{notification-command} (default: @code{#f})
+Command to use to send messages. Setting to @code{#f} sends a notification
+through @code{libnotify}.
+
+@item @code{ignore-missing?} (default: @code{#f})
+Whether to ignore missing battery errors.
+@end table
+@end deftp
+
@node Shepherd Home Service
@subsection Managing User Daemons
diff --git a/gnu/home/services/pm.scm b/gnu/home/services/pm.scm
new file mode 100644
index 0000000000..5f09941827
--- /dev/null
+++ b/gnu/home/services/pm.scm
@@ -0,0 +1,145 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2022 ( <paren@disroot.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation, either version 3 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu home services pm)
+ #:use-module (guix gexp)
+ #:use-module (guix packages)
+ #:use-module (guix records)
+ #:use-module (gnu home services)
+ #:use-module (gnu home services shepherd)
+ #:use-module (gnu packages monitoring)
+ #:use-module (gnu services shepherd)
+
+ #:export (home-batsignal-configuration
+ home-batsignal-service-type))
+
+;;;
+;;; batsignal
+;;;
+;;; Daemon for running commands and displaying notifications on
+;;; battery events.
+;;;
+
+(define-record-type* <home-batsignal-configuration>
+ home-batsignal-configuration make-home-batsignal-configuration
+ home-batsignal-configuration?
+ (warning-level batsignal-warning-level ;integer
+ (default 15))
+ (warning-message batsignal-warning-message ;string | #f
+ (default #f))
+ (critical-level batsignal-critical-level ;integer
+ (default 5))
+ (critical-message batsignal-critical-message ;string | #f
+ (default #f))
+ (danger-level batsignal-danger-level ;integer
+ (default 2))
+ (danger-command batsignal-danger-command ;file-like | string | #f
+ (default #f))
+ (full-level batsignal-full-level ;integer | #f
+ (default #f))
+ (full-message batsignal-full-message ;string | #f
+ (default #f))
+ (batteries batsignal-batteries ;list of string
+ (default '()))
+ (poll-delay batsignal-poll-delay ;integer
+ (default 60))
+ (icon batsignal-icon ;file-like | #f
+ (default #f))
+ (notifications? batsignal-notifications? ;boolean
+ (default #t))
+ (notifications-expire? batsignal-notifications-expire? ;boolean
+ (default #f))
+ (notification-command batsignal-notification-command ;string | #f
+ (default #f))
+ (ignore-missing? batsignal-ignore-missing? ;boolean
+ (default #f)))
+
+(define (home-batsignal-shepherd-services config)
+ (let ((warning-level (batsignal-warning-level config))
+ (warning-message (batsignal-warning-message config))
+ (critical-level (batsignal-critical-level config))
+ (critical-message (batsignal-critical-message config))
+ (danger-level (batsignal-danger-level config))
+ (danger-command (batsignal-danger-command config))
+ (full-level (batsignal-full-level config))
+ (full-message (batsignal-full-message config))
+ (batteries (batsignal-batteries config))
+ (poll-delay (batsignal-poll-delay config))
+ (icon (batsignal-icon config))
+ (notifications? (batsignal-notifications? config))
+ (notifications-expire? (batsignal-notifications-expire? config))
+ (notification-command (batsignal-notification-command config))
+ (ignore-missing? (batsignal-ignore-missing? config)))
+ (list (shepherd-service
+ (provision '(batsignal))
+ (documentation "Run the batsignal battery-watching daemon.")
+ (start #~(make-forkexec-constructor
+ (append (list #$(file-append batsignal "/bin/batsignal")
+ "-w" (number->string #$warning-level)
+ "-c" (number->string #$critical-level)
+ "-d" (number->string #$danger-level)
+ "-m" (number->string #$poll-delay))
+ (if #$warning-message
+ (list "-W" #$warning-message)
+ (list))
+ (if #$critical-message
+ (list "-C" #$critical-message)
+ (list))
+ (if #$danger-command
+ (list "-D" #$danger-command)
+ (list))
+ (if #$full-level
+ (list "-f" (number->string #$full-level))
+ (list))
+ (if #$full-message
+ (list "-F" #$full-message)
+ (list))
+ (if (null? (list #$@batteries))
+ (list)
+ (list "-n" (string-join (list #$@batteries) ",")))
+ (if #$icon
+ (list "-I" #$icon)
+ (list))
+ (if #$notifications?
+ (list)
+ (list "-N"))
+ (if #$notifications-expire?
+ (list "-e")
+ (list))
+ (if #$notification-command
+ (list "-M" #$notification-command)
+ (list))
+ (if #$ignore-missing?
+ (list "-i")
+ (list)))
+ #:log-file (string-append
+ (or (getenv "XDG_LOG_HOME")
+ (format #f "~a/.local/var/log"
+ (getenv "HOME")))
+ "/batsignal.log")))
+ (stop #~(make-kill-destructor))))))
+
+(define home-batsignal-service-type
+ (service-type
+ (name 'home-batsignal)
+ (extensions
+ (list (service-extension home-shepherd-service-type
+ home-batsignal-shepherd-services)))
+ (default-value (home-batsignal-configuration))
+ (description
+ "Run batsignal, a battery watching and notification daemon.")))
diff --git a/gnu/local.mk b/gnu/local.mk
index 4e982dc6e3..9ef10fcbfe 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -54,6 +54,7 @@
# Copyright © 2022 muradm <mail@muradm.net>
# Copyright © 2022 Hilton Chain <hako@ultrarare.space>
# Copyright © 2022 Alex Griffin <a@ajgrf.com>
+# Copyright © 2022 ( <paren@disroot.org>
#
# This file is part of GNU Guix.
#
@@ -89,6 +90,7 @@ GNU_SYSTEM_MODULES = \
%D%/home/services/symlink-manager.scm \
%D%/home/services/fontutils.scm \
%D%/home/services/guix.scm \
+ %D%/home/services/pm.scm \
%D%/home/services/shells.scm \
%D%/home/services/shepherd.scm \
%D%/home/services/ssh.scm \
--
2.37.3
A
A
Andrew Tropin wrote on 4 Oct 2022 15:27
(name . ()(address . paren@disroot.org)
87pmf74t2k.fsf@trop.in
On 2022-09-29 17:40, "\( via Guix-patches" via wrote:

Toggle quote (298 lines)
> * gnu/home/services/pm.scm (home-batsignal-service-type): New
> variable.
> (home-batsignal-configuration): New record type.
> * doc/guix.texi: Document them.
> * gnu/local.mk: Add gnu/home/services/pm.scm.
> ---
> doc/guix.texi | 89 ++++++++++++++++++++++--
> gnu/home/services/pm.scm | 145 +++++++++++++++++++++++++++++++++++++++
> gnu/local.mk | 2 +
> 3 files changed, 230 insertions(+), 6 deletions(-)
> create mode 100644 gnu/home/services/pm.scm
>
> diff --git a/doc/guix.texi b/doc/guix.texi
> index c534574f81..081a7fb34f 100644
> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -107,6 +107,7 @@ Copyright @copyright{} 2022 Karl Hallsby@*
> Copyright @copyright{} 2022 Justin Veilleux@*
> Copyright @copyright{} 2022 Reily Siegel@*
> Copyright @copyright{} 2022 Simon Streit@*
> +Copyright @copyright{} 2022 (@*
>
> Permission is granted to copy, distribute and/or modify this document
> under the terms of the GNU Free Documentation License, Version 1.3 or
> @@ -40119,12 +40120,13 @@ services)}.
>
> @menu
> * Essential Home Services:: Environment variables, packages, on-* scripts.
> -* Shells: Shells Home Services. POSIX shells, Bash, Zsh.
> -* Mcron: Mcron Home Service. Scheduled User's Job Execution.
> -* Shepherd: Shepherd Home Service. Managing User's Daemons.
> -* SSH: Secure Shell. Setting up the secure shell client.
> -* Desktop: Desktop Home Services. Services for graphical environments.
> -* Guix: Guix Home Services. Services for Guix.
> +* Shells: Shells Home Services. POSIX shells, Bash, Zsh.
> +* Mcron: Mcron Home Service. Scheduled User's Job Execution.
> +* Power Management: Power Management Home Services. Services for battery power.
> +* Shepherd: Shepherd Home Service. Managing User's Daemons.
> +* SSH: Secure Shell. Setting up the secure shell client.
> +* Desktop: Desktop Home Services. Services for graphical environments.
> +* Guix: Guix Home Services. Services for Guix.
> @end menu
> @c In addition to that Home Services can provide
>
> @@ -40572,6 +40574,81 @@ specifications,, mcron, GNU@tie{}mcron}).
> @end table
> @end deftp
>
> +@node Power Management Home Services
> +
> +@cindex power management
> +The @code{(gnu home services pm)} module provides home services
> +pertaining to battery power.
> +
> +@defvr {Scheme Variable} home-batsignal-service-type
> +Service for @code{batsignal}, a program that monitors battery levels
> +and warns the user through desktop notifications when their battery
> +is getting low. You can also configure a command to be run when the
> +battery level passes a point deemed ``dangerous''. This service is
> +configured with the @code{home-batsignal-configuration} record.
> +@end defvr
> +
> +@deftp {Data Type} home-batsignal-configuration
> +Data type representing the configuration for batsignal.
> +
> +@table @asis
> +@item @code{warning-level} (default: @code{15})
> +The battery level to send a warning message at.
> +
> +@item @code{warning-message} (default: @code{#f})
> +The message to send as a notification when the battery level reaches
> +the @code{warning-level}. Setting to @code{#f} uses the default
> +message.
> +
> +@item @code{critical-level} (default: @code{5})
> +The battery level to send a critical message at.
> +
> +@item @code{critical-message} (default: @code{#f})
> +The message to send as a notification when the battery level reaches
> +the @code{critical-level}. Setting to @code{#f} uses the default
> +message.
> +
> +@item @code{danger-level} (default: @code{2})
> +The battery level to run the @code{danger-command} at.
> +
> +@item @code{danger-command} (default: @code{#f})
> +The command to run when the battery level reaches the @code{danger-level}.
> +Setting to @code{#f} disables running the command entirely.
> +
> +@item @code{full-level} (default: @code{#f})
> +The battery level to send a full message at. Setting to @code{#f}
> +disables sending the full message entirely.
> +
> +@item @code{full-message} (default: @code{#f})
> +The message to send as a notification when the battery level reaches
> +the @code{full-level}. Setting to @code{#f} uses the default message.
> +
> +@item @code{batteries} (default: @code{'()})
> +The batteries to monitor. Setting to @code{'()} tries to find batteries
> +automatically.
> +
> +@item @code{poll-delay} (default: @code{60})
> +The time in seconds to wait before checking the batteries again.
> +
> +@item @code{icon} (default: @code{#f})
> +A file-like object to use as the icon for battery notifications. Setting
> +to @code{#f} disables notification icons entirely.
> +
> +@item @code{notifications?} (default: @code{#t})
> +Whether to send any notifications.
> +
> +@item @code{notifications-expire?} (default: @code{#f})
> +Whether notifications sent expire after a time.
> +
> +@item @code{notification-command} (default: @code{#f})
> +Command to use to send messages. Setting to @code{#f} sends a notification
> +through @code{libnotify}.
> +
> +@item @code{ignore-missing?} (default: @code{#f})
> +Whether to ignore missing battery errors.
> +@end table
> +@end deftp
> +
> @node Shepherd Home Service
> @subsection Managing User Daemons
>
> diff --git a/gnu/home/services/pm.scm b/gnu/home/services/pm.scm
> new file mode 100644
> index 0000000000..5f09941827
> --- /dev/null
> +++ b/gnu/home/services/pm.scm
> @@ -0,0 +1,145 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2022 ( <paren@disroot.org>
> +;;;
> +;;; This file is part of GNU Guix.
> +;;;
> +;;; GNU Guix is free software; you can redistribute it and/or modify
> +;;; it under the terms of the GNU General Public License as published by
> +;;; the Free Software Foundation, either version 3 of the License, or
> +;;; (at your option) any later version.
> +;;;
> +;;; GNU Guix is distributed in the hope that it will be useful,
> +;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
> +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +;;; GNU General Public License for more details.
> +;;;
> +;;; You should have received a copy of the GNU General Public License
> +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
> +
> +(define-module (gnu home services pm)
> + #:use-module (guix gexp)
> + #:use-module (guix packages)
> + #:use-module (guix records)
> + #:use-module (gnu home services)
> + #:use-module (gnu home services shepherd)
> + #:use-module (gnu packages monitoring)
> + #:use-module (gnu services shepherd)
> +
> + #:export (home-batsignal-configuration
> + home-batsignal-service-type))
> +
> +;;;
> +;;; batsignal
> +;;;
> +;;; Daemon for running commands and displaying notifications on
> +;;; battery events.
> +;;;
> +
> +(define-record-type* <home-batsignal-configuration>
> + home-batsignal-configuration make-home-batsignal-configuration
> + home-batsignal-configuration?
> + (warning-level batsignal-warning-level ;integer
> + (default 15))
> + (warning-message batsignal-warning-message ;string | #f
> + (default #f))
> + (critical-level batsignal-critical-level ;integer
> + (default 5))
> + (critical-message batsignal-critical-message ;string | #f
> + (default #f))
> + (danger-level batsignal-danger-level ;integer
> + (default 2))
> + (danger-command batsignal-danger-command ;file-like | string | #f
> + (default #f))
> + (full-level batsignal-full-level ;integer | #f
> + (default #f))
> + (full-message batsignal-full-message ;string | #f
> + (default #f))
> + (batteries batsignal-batteries ;list of string
> + (default '()))
> + (poll-delay batsignal-poll-delay ;integer
> + (default 60))
> + (icon batsignal-icon ;file-like | #f
> + (default #f))
> + (notifications? batsignal-notifications? ;boolean
> + (default #t))
> + (notifications-expire? batsignal-notifications-expire? ;boolean
> + (default #f))
> + (notification-command batsignal-notification-command ;string | #f
> + (default #f))
> + (ignore-missing? batsignal-ignore-missing? ;boolean
> + (default #f)))
> +
> +(define (home-batsignal-shepherd-services config)
> + (let ((warning-level (batsignal-warning-level config))
> + (warning-message (batsignal-warning-message config))
> + (critical-level (batsignal-critical-level config))
> + (critical-message (batsignal-critical-message config))
> + (danger-level (batsignal-danger-level config))
> + (danger-command (batsignal-danger-command config))
> + (full-level (batsignal-full-level config))
> + (full-message (batsignal-full-message config))
> + (batteries (batsignal-batteries config))
> + (poll-delay (batsignal-poll-delay config))
> + (icon (batsignal-icon config))
> + (notifications? (batsignal-notifications? config))
> + (notifications-expire? (batsignal-notifications-expire? config))
> + (notification-command (batsignal-notification-command config))
> + (ignore-missing? (batsignal-ignore-missing? config)))
> + (list (shepherd-service
> + (provision '(batsignal))
> + (documentation "Run the batsignal battery-watching daemon.")
> + (start #~(make-forkexec-constructor
> + (append (list #$(file-append batsignal "/bin/batsignal")
> + "-w" (number->string #$warning-level)
> + "-c" (number->string #$critical-level)
> + "-d" (number->string #$danger-level)
> + "-m" (number->string #$poll-delay))
> + (if #$warning-message
> + (list "-W" #$warning-message)
> + (list))
> + (if #$critical-message
> + (list "-C" #$critical-message)
> + (list))
> + (if #$danger-command
> + (list "-D" #$danger-command)
> + (list))
> + (if #$full-level
> + (list "-f" (number->string #$full-level))
> + (list))
> + (if #$full-message
> + (list "-F" #$full-message)
> + (list))
> + (if (null? (list #$@batteries))
> + (list)
> + (list "-n" (string-join (list #$@batteries) ",")))
> + (if #$icon
> + (list "-I" #$icon)
> + (list))
> + (if #$notifications?
> + (list)
> + (list "-N"))
> + (if #$notifications-expire?
> + (list "-e")
> + (list))
> + (if #$notification-command
> + (list "-M" #$notification-command)
> + (list))
> + (if #$ignore-missing?
> + (list "-i")
> + (list)))
> + #:log-file (string-append
> + (or (getenv "XDG_LOG_HOME")
> + (format #f "~a/.local/var/log"
> + (getenv "HOME")))
> + "/batsignal.log")))
> + (stop #~(make-kill-destructor))))))
> +
> +(define home-batsignal-service-type
> + (service-type
> + (name 'home-batsignal)
> + (extensions
> + (list (service-extension home-shepherd-service-type
> + home-batsignal-shepherd-services)))
> + (default-value (home-batsignal-configuration))
> + (description
> + "Run batsignal, a battery watching and notification daemon.")))
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 4e982dc6e3..9ef10fcbfe 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -54,6 +54,7 @@
> # Copyright © 2022 muradm <mail@muradm.net>
> # Copyright © 2022 Hilton Chain <hako@ultrarare.space>
> # Copyright © 2022 Alex Griffin <a@ajgrf.com>
> +# Copyright © 2022 ( <paren@disroot.org>
> #
> # This file is part of GNU Guix.
> #
> @@ -89,6 +90,7 @@ GNU_SYSTEM_MODULES = \
> %D%/home/services/symlink-manager.scm \
> %D%/home/services/fontutils.scm \
> %D%/home/services/guix.scm \
> + %D%/home/services/pm.scm \
> %D%/home/services/shells.scm \
> %D%/home/services/shepherd.scm \
> %D%/home/services/ssh.scm \

Hi!

Slightly reworded commit message and fixed texinfo warning, applied,
thank you!

7030f592c643360105514f9f1f923b0b6342d5e3

--
Best regards,
Andrew Tropin
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEKEGaxlA4dEDH6S/6IgjSCVjB3rAFAmM8NNMACgkQIgjSCVjB
3rCD3Q//X5NUF7H8gumCQZy/FCRzT8+wi9eu9mSlS0s+inr9ZrgsvBHTAyJ3BVDA
BoYftQqmPTc0RAmNTB9J857P63qK4eTR8dtyyg1S0DDqmXRkHc2YwtjMIYoevgfc
B8ln6kiR8sw+kGfPHH8rYQazNY4F7Q9NyC/sdtyWyS0IvOLdapywzx/ARHo0t1W4
dJ1chHB8KiIhoHJzIG45U0u8Q+UGKwtkG5gnMR9qlRX/+p85zcZlpFAjMyVJUTDt
rb27rTQ/2KXtWlKgRYZaGqjpUOo5WDn8OResAC1knj8itiOKou1irw2vhYR+Z4B3
CYIXx/2L5Wx/2VaXlVYOEgW1m/vqdx/FtG3dmPtolv1QyagfYI9dmNXFyi/1kSUM
kIBXdNytmvcZ/VcezOYe7x1tloWPWAoo705/gNxay+sv1yg7Wx0vinSp7YEOOtXt
XJ+xt8zRpt36L0SFSiUO8YCfSPK6yxHn7DRjdJLpfAzexPe3cZvw5OnIKepHpPV5
cN5xE3wGigt5Kssu3DfhO/4ep2s/OX6SB9JrZ4o9oelAXXtj2glruvykHu51Jdo1
ryap+j2ZtUlmMJo3pnJ93nmAARniY+yXIuWv0BFbq4GqFp5RYx+V6IaDVPXgeG11
MhakMZTkm8F9zcoztNscIJgt8gNyTkmRuU6UWdai4bVupiUCsw4=
=4qx4
-----END PGP SIGNATURE-----

(
CNDD6W0AQSWN.3UEYZMWI6LHDP@guix-aspire
On Tue Oct 4, 2022 at 2:27 PM BST, Andrew Tropin wrote:
Toggle quote (3 lines)
> Slightly reworded commit message and fixed texinfo warning, applied,
> thank you!

Thanks Andrew! :D

-- (
A
A
Andrew Tropin wrote on 5 Oct 2022 06:48
Applied
(address . control@debbugs.gnu.org)
87mtaa510j.fsf@trop.in
close 58170
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEKEGaxlA4dEDH6S/6IgjSCVjB3rAFAmM9DJwACgkQIgjSCVjB
3rB1SA//anO2eMVCsgbWLWKwUm2T/QlriqsT1EiQG+lkqceria+T5etSp25X8teb
YuI7NRv6xKuaEvFKP0zw3EenvSXs/csixKDGNGhoAbbK3Kz/GuSzPe6L+UQfGJ0C
+RLHDEPmVnwqasiRnbF6vnX6EhBo/VsKy4/KQHCJ19qaaIiJJlY18F+DtSPl4DkU
aqNVEH+/U/XBwkME5dscA4DgKfhJsrKT6ZWv8bVl6DH6iqw/GBrfm12iqPYSSZXk
rWRe8HWzmLvY+bXl5Cc681driZafT8Bjg51LVcp4HlddNurSJymKEgO9Z9UyvdOx
Tpyf31rgzdNH32NVcuVSsuj/irLp8ArBkLki3Hi+zPrBIsSWSqL10K3mksDV+qzY
8JwLBVvsgHZ/ARnns2HmaXXNZCAVQI6igg6/+7XfE01wzkTvkhq6YkLQmFjvmpDe
ng86zb1aogm4dncZ6gHg/b0kb4wgpct0PEea3UNxg/PFIRb/ep9l4DEEHqJYgnKT
WTDTsQf/pZ1YOokWs3uWOrtvtNj6qV8ywpPIKw+U6OJ2axiNBUr/UXvKqhT9b+Uo
o3C01k1HgtT5mFF989mbR2HSFtjPCmEIV6g/7SdTAdHFExvZXqFHvX8Yrq7iiY+G
u5cr6tOukznzGEThK1MPHekbNHdU7OLwfuD+MhrxhA+LviRcJBA=
=BqpZ
-----END PGP SIGNATURE-----

?