diff --git a/oni/home/config/pop-os.scm b/oni/home/config/pop-os.scm index 41a1920..d7a2113 100644 --- a/oni/home/config/pop-os.scm +++ b/oni/home/config/pop-os.scm @@ -20,7 +20,8 @@ #:select (home-emacs-service-type home-emacs-configuration home-wakatime-service-type - home-wakatime-configuration)) + home-wakatime-configuration + home-emacs-org-journal-service-type)) #:use-module ((oni home services environment) #:select (home-environment-service)) #:use-module ((oni packages emacs-config) @@ -96,6 +97,7 @@ "(require 'oni-gui)\n" "(provide 'oni-gnus)\n" "(add-to-list 'auto-mode-alist '(\"\\.vue$\" . web-mode))\n"))))) + (service home-emacs-org-journal-service-type) (service home-wakatime-service-type (home-wakatime-configuration (api-url "https://waka.ryuslash.org/api") diff --git a/oni/home/services/emacs.scm b/oni/home/services/emacs.scm index 43cf2f3..0b0d20f 100644 --- a/oni/home/services/emacs.scm +++ b/oni/home/services/emacs.scm @@ -17,7 +17,8 @@ emacs-pinentry emacs-vterm emacs-org-modern - emacs-org-caldav)) + emacs-org-caldav + emacs-org-journal)) #:use-module ((gnu home services) #:select (service-type service-extension @@ -84,7 +85,10 @@ home-wakatime-configuration home-emacs-org-caldav-service-type - home-emacs-org-caldav-configration)) + home-emacs-org-caldav-configration + + home-emacs-org-journal-service-type + home-emacs-org-journal-configuration)) (define-maybe string) @@ -716,3 +720,37 @@ (compose identity) (default-value (home-emacs-org-caldav-configuration)) (description "Install and configure emacs-org-caldav"))) + +;;; Org journal + +(define-configuration/no-serialization home-emacs-org-journal-configuration + (package + (package emacs-org-journal) + "Package to install and configure for org-journal.") + (extra-content + (text-config '()) + "Extra content for emacs-org-journal configuration.")) + +(define (add-emacs-org-journal-configuration config) + (home-emacs-extension + (configurations + (append + (list (local-file "emacs/org-journal.el")) + (home-emacs-org-journal-configuration-extra-content config))))) + +(define (add-emacs-org-journal-packages config) + (list (home-emacs-org-journal-configuration-package config))) + +(define home-emacs-org-journal-service-type + (service-type + (name 'home-emacs-org-journal) + (extensions + (list (service-extension + home-emacs-service-type + add-emacs-org-journal-configuration) + (service-extension + home-profile-service-type + add-emacs-org-journal-packages))) + (compose identity) + (default-value (home-emacs-org-journal-configuration)) + (description "Install and configure emacs-org-journal"))) diff --git a/oni/home/services/emacs/org-journal.el b/oni/home/services/emacs/org-journal.el new file mode 100644 index 0000000..4e8b595 --- /dev/null +++ b/oni/home/services/emacs/org-journal.el @@ -0,0 +1 @@ +(setq org-journal-dir "~/documents/exocortex-novus/journal/")