1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-17 04:20:44 +02:00

home: Add home-snuik-service.

* gnu/home/services/messaging.scm (home-snuik-service-type): New variable.
* doc/guix.texi (Messaging Home Services): Document it.

Change-Id: I1e278e7d8ed04efcb1a2ce9e12e69cb6a31a9fa4
This commit is contained in:
Janneke Nieuwenhuizen 2025-03-11 20:01:28 +01:00
parent 2f204a7303
commit 18f956467a
No known key found for this signature in database
GPG key ID: F3C1A0D9C1D65273
2 changed files with 47 additions and 2 deletions

View file

@ -49814,6 +49814,34 @@ znc} for more information.
@end table @end table
@end deftp @end deftp
@cindex irc-bot
@cindex snuik
The @uref{https://gitlab.com/janneke/snuik, Snuik IRC bot} can be run as
a daemon to aid talking to users that are currently offline. With the
@code{(gnu home services messaging)} service, you can configure Snuik to
run upon login.
@defvar home-snuik-service-type
This is the type of the Snuik home service, whose value is a
@code{home-snuik-configuration} object.
@end defvar
You may specify a custom configuration by providing a
@code{snuik-configuration} record, exactly like for
@code{snuik-service-type} and wrapping it in @code{for-home}. Here is
an example of a service and its configuration that you could add to the
@code{services} field of your @code{home-environment}:
@lisp
(service home-snuik-service-type
(for-home
(snuik-configuration
(server "irc.oftc.net")
(nick "sneek")
(password "snuik is sneeky")
(channels '("#reproducible-builds"))))
@end lisp
@node Media Home Services @node Media Home Services
@subsection Media Home Services @subsection Media Home Services

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2023, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -20,12 +20,17 @@
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (gnu home services) #:use-module (gnu home services)
#:use-module (gnu home services shepherd) #:use-module (gnu home services shepherd)
#:use-module (gnu packages irc)
#:use-module (gnu packages messaging) #:use-module (gnu packages messaging)
#:use-module (gnu services)
#:use-module (gnu services configuration) #:use-module (gnu services configuration)
#:use-module (gnu services shepherd) #:use-module (gnu services shepherd)
#:use-module (gnu services messaging)
#:use-module ((gnu system shadow) #:select (account-service-type))
#:use-module (guix records) #:use-module (guix records)
#:use-module (guix gexp) #:use-module (guix gexp)
#:export (home-znc-configuration #:export (home-snuik-service-type
home-znc-configuration
home-znc-service-type)) home-znc-service-type))
;;; ;;;
@ -64,3 +69,15 @@
(description (description
"Install and configure @command{znc}, an @acronym{IRC, Internet Relay "Install and configure @command{znc}, an @acronym{IRC, Internet Relay
Chat} bouncer, as a Shepherd service."))) Chat} bouncer, as a Shepherd service.")))
;;;
;;; Snuik.
;;;
(define home-snuik-service-type
(service-type
(inherit (system->home-service-type
(remove-service-extensions snuik-service-type
(list account-service-type
activation-service-type))))
(default-value (for-home (snuik-configuration)))))