guixsd-config

GuixSD configs for my systems
Log | Files | Refs

commit 23cc5626dfd4b7a3a65902bf3212d4dbf474add8
parent 710cfbceca9e480fed868e794e7bd547408740d1
Author: Vineet Kumar <git@vineetk.net>
Date:   Sun,  1 Feb 2026 12:21:29 -0500

saklas: add prosody

Diffstat:
Mepistemia/systems/saklas.scm | 39+++++++++++++++++++++++++++++++++++++--
1 file changed, 37 insertions(+), 2 deletions(-)

diff --git a/epistemia/systems/saklas.scm b/epistemia/systems/saklas.scm @@ -4,10 +4,12 @@ #:use-module (gnu packages emacs) #:use-module (gnu packages golang-crypto) #:use-module (gnu packages linux) + #:use-module (gnu packages messaging) #:use-module (gnu packages version-control) #:use-module (gnu services certbot) #:use-module (gnu services dns) #:use-module (gnu services linux) + #:use-module (gnu services messaging) #:use-module (gnu services networking) #:use-module (gnu services security) #:use-module (gnu services shepherd) @@ -340,11 +342,16 @@ rpz: (certificates (list (certificate-configuration + (deploy-hook (program-file + "import-prosody-certs" + #~(begin + (let ((prosodyctl (string-append #$prosody "/bin/prosodyctl"))) + (system* prosodyctl "--root" "cert" "import" "/etc/certs"))))) (domains '("vineetk.net" ;"git.vineetk.net" ;"mail.vineetk.net" "u.vineetk.net" - ;"xmpp.vineetk.net" + "xmpp.vineetk.net" ))) (certificate-configuration (domains '("13f0.net" @@ -376,7 +383,35 @@ rpz: (ssl-certificate "/etc/certs/vinbiz.ca/fullchain.pem") (ssl-certificate-key "/etc/certs/vinbiz.ca/privkey.pem") (root "/var/www/site_vinbiz") - (raw-content (list "include " %nginx-badboi ";")))))))) + (raw-content (list "include " %nginx-badboi ";"))))))) + (service prosody-service-type + (prosody-configuration + (admins '("vin@vineetk.net")) + (allow-registration? #f) + (c2s-require-encryption? #t) + (s2s-require-encryption? #t) + (s2s-secure-auth? #t) + (authentication "internal_hashed") + (modules-enabled + ;; list from https://github.com/monal-im/Monal/wiki/Considerations-for-XMPP-server-admins#prosody + (cons* "sasl_ssdp" + "sasl2" + "sasl2_bind2" + "sasl2_sm" + "sasl2_fast" + "muc_notifications" + "smacks" + "mam" + "csi_battery_saver" + "cloud_notify" + "bookmarks" + %default-modules-enabled)) + ;; I don't want my syslog flooded. can't control changes either in service yet + (log "/var/lib/prosody/prosody.log") + (virtualhosts + (list + (virtualhost-configuration + (domain "vineetk.net"))))))) %base-services) (guix-service-type config => (guix-configuration