aboutsummaryrefslogtreecommitdiffstats
path: root/oni/home
diff options
context:
space:
mode:
authorGravatar Tom Willemse2023-08-29 22:21:30 -0700
committerGravatar Tom Willemse2023-08-29 22:26:42 -0700
commitedfc8c25582b5fc0673f36b7af121ab8496bba24 (patch)
tree17301b2375eec495d0cf79b708fd0b3403b55858 /oni/home
parentee001a23f550aaa9d88a44ba4e921c1e0abd9b72 (diff)
downloadnew-dotfiles-edfc8c25582b5fc0673f36b7af121ab8496bba24.tar.gz
new-dotfiles-edfc8c25582b5fc0673f36b7af121ab8496bba24.zip
Add emacs-yasnippet-capf to my configuration
Diffstat (limited to 'oni/home')
-rw-r--r--oni/home/config/rincewind.scm6
-rw-r--r--oni/home/services/emacs.scm41
2 files changed, 44 insertions, 3 deletions
diff --git a/oni/home/config/rincewind.scm b/oni/home/config/rincewind.scm
index 6875046..540e26e 100644
--- a/oni/home/config/rincewind.scm
+++ b/oni/home/config/rincewind.scm
@@ -72,7 +72,8 @@
#:select (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))
#:use-module ((oni home services environment)
#:select (home-environment-service))
#:use-module ((oni home services flameshot)
@@ -325,7 +326,8 @@
(home-emacs-helpful-configuration
(configurations
(list
- (local-file "../services/emacs/helpful.el")))))
+ (local-file "../services/emacs/oni-helpful.el")))))
+ (service home-emacs-yasnippet-capf-service-type)
(service home-flameshot-service-type)
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.")))