diff --git a/oni/home/config/data.scm b/oni/home/config/data.scm index e1ef3ca..e15ec63 100644 --- a/oni/home/config/data.scm +++ b/oni/home/config/data.scm @@ -33,7 +33,8 @@ home-emacs-ace-link-service-type home-emacs-ace-link-configuration home-emacs-golden-ratio-service-type - home-emacs-pinentry-service-type)) + home-emacs-pinentry-service-type + home-emacs-org-caldav-service-type)) #:use-module (oni home services environment) ;; #:use-module (oni home services herbstluftwm) #:use-module (oni home services kdeconnect) @@ -308,6 +309,7 @@ (org-mode-key "C-S-e"))) (service home-emacs-golden-ratio-service-type) (service home-emacs-pinentry-service-type) + (service home-emacs-org-caldav-service-type) (service home-xss-lock-service-type) (service home-cbatticon-service-type)))) diff --git a/oni/home/services/emacs.scm b/oni/home/services/emacs.scm index 130ffe8..76856a5 100644 --- a/oni/home/services/emacs.scm +++ b/oni/home/services/emacs.scm @@ -16,7 +16,8 @@ emacs-ace-link emacs-pinentry emacs-vterm - emacs-org-modern)) + emacs-org-modern + emacs-org-caldav)) #:use-module ((gnu home services) #:select (service-type service-extension @@ -80,7 +81,10 @@ home-emacs-org-modern-configuration home-wakatime-service-type - home-wakatime-configuration)) + home-wakatime-configuration + + home-emacs-org-caldav-service-type + home-emacs-org-caldav-configration)) (define-maybe string) @@ -665,3 +669,39 @@ (compose identity) (default-value (home-wakatime-configuration)) (description "Install and configure wakatime."))) + +;;; Org CalDAV + +(define-configuration/no-serialization home-emacs-org-caldav-configuration + (package + (package emacs-org-caldav) + "Package to install and configure for org-caldav.") + (extra-content + (text-config '()) + "Extra content for emacs-org-modern configuration.")) + +(define (add-emacs-org-caldav-configuration config) + (home-emacs-extension + (configurations + (append + (list (mixed-text-file "org-caldav-config" + ";;;;; org-caldav-config starts here.\n" + ";;;;; org-caldav-cofnig ends here.\n")) + (home-emacs-org-caldav-configuration-extra-content config))))) + +(define (add-emacs-org-caldav-packages config) + (list (home-emacs-org-caldav-configuration-package config))) + +(define home-emacs-org-caldav-service-type + (service-type + (name 'home-emacs-org-caldav) + (extensions + (list (service-extension + home-emacs-service-type + add-emacs-org-caldav-configuration) + (service-extension + home-profile-service-type + add-emacs-org-caldav-packages))) + (compose identity) + (default-value (home-emacs-org-caldav-configuration)) + (description "Install and configure emacs-org-caldav")))