diff --git a/oni/home/config/rincewind.scm b/oni/home/config/rincewind.scm index 625fc2c..9f54bcb 100644 --- a/oni/home/config/rincewind.scm +++ b/oni/home/config/rincewind.scm @@ -76,7 +76,8 @@ home-emacs-yasnippet-capf-service-type home-emacs-dashboard-service-type home-emacs-dashboard-configuration - home-emacs-eros-service-type)) + home-emacs-eros-service-type + home-emacs-ace-link-service-type)) #:use-module ((oni home services environment) #:select (home-environment-service)) #:use-module ((oni home services flameshot) @@ -416,6 +417,7 @@ (service home-emacs-yasnippet-capf-service-type) (service home-emacs-dashboard-service-type) (service home-emacs-eros-service-type) + (service home-emacs-ace-link-service-type) (service home-flameshot-service-type) diff --git a/oni/home/services/emacs.scm b/oni/home/services/emacs.scm index ebc4220..a9ba9d7 100644 --- a/oni/home/services/emacs.scm +++ b/oni/home/services/emacs.scm @@ -10,7 +10,8 @@ #:use-module ((gnu packages emacs-xyz) #:select (emacs-helpful emacs-dashboard - emacs-eros)) + emacs-eros + emacs-ace-link)) #:use-module ((gnu home services) #:select (service-type service-extension @@ -26,7 +27,6 @@ mixed-text-file)) #:use-module ((guix packages) #:select (package?)) - #:use-module ((oni packages emacs) #:select (emacs-yasnippet-capf)) @@ -43,7 +43,10 @@ home-emacs-dashboard-configuration home-emacs-eros-service-type - home-emacs-eros-configuration)) + home-emacs-eros-configuration + + home-emacs-ace-link-service-type + home-emacs-ace-link-configuration)) (define-configuration/no-serialization home-emacs-extension (configurations @@ -234,3 +237,36 @@ (compose identity) (default-value (home-emacs-eros-configuration)) (description "Install and configure emacs-eros."))) + +(define-configuration/no-serialization home-emacs-ace-link-configuration + (package + (package emacs-ace-link) + "Package to use for setting emacs-ace-link.") + (configurations + (text-config '()) + "Configuration for emacs-ace-link.")) + +(define (add-emacs-ace-link config) + (home-emacs-extension + (configurations + (append + (list (mixed-text-file "ace-link-config" + "(ace-link-setup-default)\n")) + (home-emacs-ace-link-configuration-configurations config))))) + +(define (add-emacs-ace-link-packages config) + (list (home-emacs-ace-link-configuration-package config))) + +(define home-emacs-ace-link-service-type + (service-type + (name 'home-emacs-ace-link) + (extensions + (list (service-extension + home-emacs-service-type + add-emacs-ace-link) + (service-extension + home-profile-service-type + add-emacs-ace-link-packages))) + (compose identity) + (default-value (home-emacs-ace-link-configuration)) + (description "Install and configure emacs-ace-link.")))