diff options
author | Tom Willemse | 2023-07-14 00:54:48 -0700 |
---|---|---|
committer | Tom Willemse | 2023-07-14 00:54:48 -0700 |
commit | b144e84ea5b013fdd161287d4d5a6eb12f02e53b (patch) | |
tree | cdb428cd1b5049a77caafd8f192dd2f394e805d1 /oni/home | |
parent | 5aa1d0c0e8069bdce3ff938948bfaeeb1e10c834 (diff) | |
download | new-dotfiles-b144e84ea5b013fdd161287d4d5a6eb12f02e53b.tar.gz new-dotfiles-b144e84ea5b013fdd161287d4d5a6eb12f02e53b.zip |
Add ‘emacs-oni-hy’
I just added a configuration for programming in Hy. This is the first step for
moving more of my Emacs configuration into guix home. Instead of adding the
autoload for ‘oni-hy’ in the ‘oni-core’ package, I've added it directly to my
Guix configuration. In the future I'll want to change this so that each package
gets its own configuration and also extends my Emacs configuration so that it
automatically adds these autoloads when I add a package.
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 |