(define-module (oni home services mail) #:use-module ((gnu home services) #:select (service-type service-extension home-profile-service-type)) #:use-module ((gnu packages mail) #:select (isync)) #:use-module ((gnu services configuration) #:select (serialize-package define-configuration)) #:use-module ((guix packages) #:select (package?)) #:export (home-mbsync-service-type home-mbsync-configuration)) (define-configuration home-mbsync-configuration (package (package isync) "Package to use for setting up mbsync")) (define (add-mbsync-packages config) (list (home-mbsync-configuration-package config))) (define home-mbsync-service-type (service-type (name 'home-mbsync) (extensions (list (service-extension home-profile-service-type add-mbsync-packages))) (compose 'identity) (default-value (home-mbsync-configuration)) (description "Install and configure mbsync.")))