diff options
Diffstat (limited to 'oni/home/services/emacs.scm')
-rw-r--r-- | oni/home/services/emacs.scm | 42 |
1 files changed, 40 insertions, 2 deletions
diff --git a/oni/home/services/emacs.scm b/oni/home/services/emacs.scm index 564ed3d..99dd2dd 100644 --- a/oni/home/services/emacs.scm +++ b/oni/home/services/emacs.scm @@ -8,7 +8,8 @@ #:use-module ((gnu packages emacs) #:select (emacs)) #:use-module ((gnu packages emacs-xyz) - #:select (emacs-helpful)) + #:select (emacs-helpful + emacs-dashboard)) #:use-module ((gnu home services) #:select (service-type service-extension @@ -35,7 +36,10 @@ home-emacs-helpful-configuration home-emacs-yasnippet-capf-service-type - home-emacs-yasnippet-capf-configuration)) + home-emacs-yasnippet-capf-configuration + + home-emacs-dashboard-service-type + home-emacs-dashboard-configuration)) (define-configuration/no-serialization home-emacs-extension (configurations @@ -158,3 +162,37 @@ (compose identity) (default-value (home-emacs-yasnippet-capf-configuration)) (description "Install and configure emacs-yasnippet-capf."))) + +(define-configuration/no-serialization home-emacs-dashboard-configuration + (package + (package emacs-dashboard) + "Package to use for setting emacs-dashboard.") + (configurations + (text-config '()) + "Configuration for emacs-dashboard.")) + +(define (add-emacs-dashboard config) + (home-emacs-extension + (configurations + (append + (list (mixed-text-file "dashboard-config" + "(dashboard-setup-startup-hook)\n" + "(setq initial-buffer-choice (lambda () (get-buffer-create \"*dashboard*\")))\n")) + (home-emacs-dashboard-configuration-configurations config))))) + +(define (add-emacs-dashboard-packages config) + (list (home-emacs-dashboard-configuration-package config))) + +(define home-emacs-dashboard-service-type + (service-type + (name 'home-emacs-dashboard) + (extensions + (list (service-extension + home-emacs-service-type + add-emacs-dashboard) + (service-extension + home-profile-service-type + add-emacs-dashboard-packages))) + (compose identity) + (default-value (home-emacs-dashboard-configuration)) + (description "Install and configure emacs-dashboard."))) |