A few things are not working with the Guix rsync service: 1. A "files" module is created by default: --8<---------------cut here---------------start------------->8--- # Generated by 'rsync-service'. pid file = /var/run/rsyncd/rsyncd.pid lock file = /var/run/rsyncd/rsyncd.lock log file = /var/log/rsyncd.log port = 873 use chroot = true uid = rsyncd gid = rsyncd [files] path = /srv/rsyncd comment = Rsync share read only = false timeout = 300 --8<---------------cut here---------------end--------------->8--- But rsync-configuration does not allow the user to specify another module name, nor to add a module. This is limiting. Furthermore, the default module name is not documented, so one has to guess that the client must invoke --8<---------------cut here---------------start------------->8--- rsync ... $HOST/files ... # The "files" here matters! --8<---------------cut here---------------end--------------->8--- 2. The `uid' option does not work. With the following configuration --8<---------------cut here---------------start------------->8--- (service rsync-service-type (rsync-configuration (uid "ambrevar") (gid "users") (share-path "/whatever") (read-only? #t))) --8<---------------cut here---------------end--------------->8--- I get this on guix reconfigure: --8<---------------cut here---------------start------------->8--- building /gnu/store/lvkplmcxr785x56022hm8d88x0fbpd0m-switch-to-system.scm.drv... making '/gnu/store/v01y64gg1wbvg5jk3xgsci04rgvfy6sv-system' the current system... setting up setuid programs in '/run/setuid-programs'... populating /etc from /gnu/store/5pwh48vkd4yhjc29iq6mxnh7jgd4nnmh-etc... Backtrace: 1 (primitive-load "/home/ambrevar/.config/guix/current/bin/guix") In guix/ui.scm: 1945:12 0 (run-guix-command _ . _) guix/ui.scm:1945:12: In procedure run-guix-command: In procedure getpw: entry not found --8<---------------cut here---------------end--------------->8--- Cheers! -- Pierre Neidhardt https://ambrevar.xyz/