From edfc8c25582b5fc0673f36b7af121ab8496bba24 Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Tue, 29 Aug 2023 22:21:30 -0700 Subject: Add emacs-yasnippet-capf to my configuration --- oni/home/config/rincewind.scm | 6 ++++-- oni/home/services/emacs.scm | 41 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 44 insertions(+), 3 deletions(-) (limited to 'oni/home') 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."))) -- cgit v1.2.3-54-g00ecf