diff options
Diffstat (limited to 'oni/home')
-rw-r--r-- | oni/home/config/rincewind.scm | 19 | ||||
-rw-r--r-- | oni/home/services/emacs.scm | 17 | ||||
-rw-r--r-- | oni/home/services/emacs/init.el | 5 |
3 files changed, 30 insertions, 11 deletions
diff --git a/oni/home/config/rincewind.scm b/oni/home/config/rincewind.scm index d095fb1..6643360 100644 --- a/oni/home/config/rincewind.scm +++ b/oni/home/config/rincewind.scm @@ -40,6 +40,9 @@ #:select (channel make-channel-introduction openpgp-fingerprint)) + #:use-module ((guix gexp) + #:select (local-file + mixed-text-file)) #:use-module ((guix packages) #:select (package-name)) #:use-module ((guix transformations) @@ -107,7 +110,8 @@ emacs-oni-common-lisp emacs-oni-gui emacs-oni-magit - emacs-oni-notmuch)) + emacs-oni-notmuch + emacs-oni-hy)) #:use-module ((oni packages hlwm-run-or-raise) #:select (hlwm-run-or-raise)) #:use-module ((oni packages inbox-size) @@ -215,6 +219,7 @@ emacs-oni-gui emacs-oni-magit emacs-oni-notmuch + emacs-oni-hy gforth recutils emacs-rec-mode @@ -280,7 +285,17 @@ (service home-emacs-service-type (home-emacs-configuration - (package emacs-next))) + (package emacs-next) + (configurations + (list + (local-file "../services/emacs/init.el") + (mixed-text-file + "init.el" + "(with-eval-after-load 'hy-mode (require 'oni-hy))\n" + "(setq custom-file \"~/.config/emacs/custom.el\")\n" + "(load custom-file)\n" + "(provide 'init)\n" + ";;; init.el ends here\n"))))) (service home-flameshot-service-type) diff --git a/oni/home/services/emacs.scm b/oni/home/services/emacs.scm index 6f9ec3e..137da8a 100644 --- a/oni/home/services/emacs.scm +++ b/oni/home/services/emacs.scm @@ -1,7 +1,9 @@ (define-module (oni home services emacs) #:use-module ((gnu services configuration) #:select (serialize-package - define-configuration)) + define-configuration + text-config? + serialize-text-config)) #:use-module ((gnu packages emacs) #:select (emacs)) #:use-module ((gnu home services) @@ -15,7 +17,8 @@ #:use-module ((guix gexp) #:select (gexp file-append - local-file)) + local-file + mixed-text-file)) #:use-module ((guix packages) #:select (package?)) @@ -25,7 +28,10 @@ (define-configuration home-emacs-configuration (package (package emacs) - "Package to use for setting Emacs")) + "Package to use for setting Emacs") + (configurations + (text-config '()) + "A list of other configuration files to autoload")) (define (add-emacs-packages config) (list (home-emacs-configuration-package config))) @@ -44,7 +50,10 @@ (stop #~(make-kill-destructor))))) (define (home-emacs-config-files config) - `((".emacs.d/init.el" ,(local-file "emacs/init.el")))) + `((".emacs.d/init.el" + ,(mixed-text-file + "init.el" + (serialize-text-config config (home-emacs-configuration-configurations config)))))) (define home-emacs-service-type (service-type diff --git a/oni/home/services/emacs/init.el b/oni/home/services/emacs/init.el index 87fb81c..b628c81 100644 --- a/oni/home/services/emacs/init.el +++ b/oni/home/services/emacs/init.el @@ -50,8 +50,3 @@ (with-eval-after-load 'electric (add-hook 'electric-quote-inhibit-functions #'oni-in-word-p)) -(setq custom-file "~/.config/emacs/custom.el") -(load custom-file) - -(provide 'init) -;;; init.el ends here |