aboutsummaryrefslogtreecommitdiffstats
path: root/oni/home/services/emacs.scm
diff options
context:
space:
mode:
Diffstat (limited to 'oni/home/services/emacs.scm')
-rw-r--r--oni/home/services/emacs.scm41
1 files changed, 40 insertions, 1 deletions
diff --git a/oni/home/services/emacs.scm b/oni/home/services/emacs.scm
index 6d05821..c50809f 100644
--- a/oni/home/services/emacs.scm
+++ b/oni/home/services/emacs.scm
@@ -25,11 +25,17 @@
#:use-module ((guix packages)
#:select (package?))
+ #:use-module ((oni packages emacs)
+ #:select (emacs-yasnippet-capf))
+
#:export (home-emacs-service-type
home-emacs-configuration
home-emacs-helpful-service-type
- home-emacs-helpful-configuration))
+ home-emacs-helpful-configuration
+
+ home-emacs-yasnippet-capf-service-type
+ home-emacs-yasnippet-capf-configuration))
(define-configuration/no-serialization home-emacs-extension
(configurations
@@ -119,3 +125,36 @@
(compose identity)
(default-value (home-emacs-helpful-configuration))
(description "Install and configure emacs-helpful.")))
+
+(define-configuration/no-serialization home-emacs-yasnippet-capf-configuration
+ (package
+ (package emacs-yasnippet-capf)
+ "Package to use for setting emacs-yasnippet-capf.")
+ (configurations
+ (text-config '())
+ "Configuration for emacs-yasnippet-capf."))
+
+(define (add-emacs-yasnippet-capf config)
+ (home-emacs-extension
+ (configurations
+ (append
+ (list (mixed-text-file "yasnippet-capf-config"
+ "(with-eval-after-load 'minibuffer (add-to-list 'completions-at-point-functions #'yasnippet-capf))\n"))
+ (home-emacs-yasnippet-capf-configuration-configurations config)))))
+
+(define (add-emacs-yasnippet-capf-packages config)
+ (list (home-emacs-yasnippet-capf-configuration-package config)))
+
+(define home-emacs-yasnippet-capf-service-type
+ (service-type
+ (name 'home-yasnippet-capf)
+ (extensions
+ (list (service-extension
+ home-emacs-service-type
+ add-emacs-yasnippet-capf)
+ (service-extension
+ home-profile-service-type
+ add-emacs-yasnippet-capf-packages)))
+ (compose identity)
+ (default-value (home-emacs-yasnippet-capf-configuration))
+ (description "Install and configure emacs-yasnippet-capf.")))