diff options
author | Zacchaeus <eikcaz@zacchae.us> | 2025-02-16 12:56:16 -0500 |
---|---|---|
committer | Leo Famulari <leo@famulari.name> | 2025-02-17 01:12:37 -0500 |
commit | 651f8765b657e35baf85ac74a1f6b09ff71691cb (patch) | |
tree | f637707ec926695b60238108f9133395dfdf95ba /gnu/home/services | |
parent | ad74dedb9f167c088d37a3a30d5d6fe841e9127b (diff) |
services: syncthing: Add support for declarative configuration.
* gnu/services/syncthing.scm: (syncthing-config-file, syncthing-folder,
syncthing-device, syncthing-folder-device): New records.
(syncthing-service-type): Add special-files-service-type extension for
the config file.
(syncthing-files-service): Add service to create config file.
* gnu/home/services/syncthing.scm: (home-syncthing-service-type):
Extend home-files-services-type and re-exported more things from
gnu/services/syncthing.scm.
* doc/guix.texi: (syncthing-service-type): Document changes.
Change-Id: I87eeba1ee1fdada8f29c2ee881fbc6bc4113dde9
Signed-off-by: Leo Famulari <leo@famulari.name>
Diffstat (limited to 'gnu/home/services')
-rw-r--r-- | gnu/home/services/syncthing.scm | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/gnu/home/services/syncthing.scm b/gnu/home/services/syncthing.scm index 8d66a167ce..dd6c752ee4 100644 --- a/gnu/home/services/syncthing.scm +++ b/gnu/home/services/syncthing.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2023 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2025 Zacchaeus <eikcaz@zacchae.us> ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,9 +25,23 @@ #:use-module (gnu home services shepherd) #:export (home-syncthing-service-type) #:re-export (syncthing-configuration - syncthing-configuration?)) + syncthing-configuration? + syncthing-config-file + syncthing-config-file? + syncthing-device + syncthing-device? + syncthing-folder + syncthing-folder? + syncthing-folder-device + syncthing-folder-device?)) (define home-syncthing-service-type (service-type (inherit (system->home-service-type syncthing-service-type)) + ;; system->home-service-type does not convert special-files-service-type to + ;; home-files-service-type, so redefine extensios + (extensions (list (service-extension home-files-service-type + syncthing-files-service) + (service-extension home-shepherd-service-type + syncthing-shepherd-service))) (default-value (for-home (syncthing-configuration))))) |