diff options
| author | 2025-02-27 00:12:59 -0800 | |
|---|---|---|
| committer | 2025-02-27 00:12:59 -0800 | |
| commit | 41e304973dd1ee1b0899aff5584f0b3faabeb9dd (patch) | |
| tree | 9e65cdbace55ebf5cc2b755529cedbeaf3a3935e | |
| parent | 3843e5694c8cd8c05ecc64c6b8af15efa55ebc5f (diff) | |
| download | new-dotfiles-41e304973dd1ee1b0899aff5584f0b3faabeb9dd.tar.gz new-dotfiles-41e304973dd1ee1b0899aff5584f0b3faabeb9dd.zip | |
rincewind: Add envrc to automatically load environment
| -rw-r--r-- | oni/home/config/rincewind.scm | 3 | ||||
| -rw-r--r-- | oni/home/services/emacs.scm | 33 |
2 files changed, 34 insertions, 2 deletions
diff --git a/oni/home/config/rincewind.scm b/oni/home/config/rincewind.scm index e845a26..b2bb846 100644 --- a/oni/home/config/rincewind.scm +++ b/oni/home/config/rincewind.scm @@ -87,6 +87,7 @@ home-emacs-configuration home-emacs-helpful-configuration home-emacs-yasnippet-capf-configuration + home-emacs-envrc-configuration home-emacs-dashboard-service-type home-emacs-dashboard-configuration home-emacs-eros-service-type @@ -419,6 +420,8 @@ (local-file "../services/emacs/oni-helpful.el"))))) (yasnippet-capf (home-emacs-yasnippet-capf-configuration)) + (envrc + (home-emacs-envrc-configuration)) (configurations (list (local-file "../services/emacs/init.el") diff --git a/oni/home/services/emacs.scm b/oni/home/services/emacs.scm index ec1d49e..e0af1f9 100644 --- a/oni/home/services/emacs.scm +++ b/oni/home/services/emacs.scm @@ -19,7 +19,8 @@ emacs-vterm emacs-org-modern emacs-org-caldav - emacs-org-journal)) + emacs-org-journal + emacs-envrc)) #:use-module ((gnu home services) #:select (service-type service-extension @@ -53,6 +54,7 @@ home-emacs-configuration home-emacs-helpful-configuration home-emacs-yasnippet-capf-configuration + home-emacs-envrc-configuration home-emacs-dashboard-service-type home-emacs-dashboard-configuration @@ -126,6 +128,16 @@ (define-maybe home-emacs-yasnippet-capf-configuration) +(define-configuration/no-serialization home-emacs-envrc-configuration + (package + (package emacs-envrc) + "Package to use for setting up emacs envrc.") + (configurations + (text-config '()) + "Configuration for emacs-envrc.")) + +(define-maybe home-emacs-envrc-configuration) + (define-configuration/no-serialization home-emacs-configuration (package (package emacs) @@ -139,6 +151,9 @@ (yasnippet-capf maybe-home-emacs-yasnippet-capf-configuration "Configuration for yasnippet-capf.") + (envrc + maybe-home-emacs-envrc-configuration + "Configuration for envrc.") (configurations (text-config '()) "A list of other configuration files to autoload")) @@ -155,7 +170,12 @@ (home-emacs-configuration-yasnippet-capf config)) (home-emacs-yasnippet-capf-configuration-package (maybe-value - (home-emacs-configuration-yasnippet-capf config))))))) + (home-emacs-configuration-yasnippet-capf config)))) + (when (maybe-value-set? + (home-emacs-configuration-envrc config)) + (home-emacs-envrc-configuration-package + (maybe-value + (home-emacs-configuration-envrc config))))))) (define (home-emacs-extensions original-config extension-configs) (home-emacs-configuration @@ -199,6 +219,15 @@ (maybe-value (home-emacs-configuration-yasnippet-capf config))))) "") + (if (maybe-value-set? + (home-emacs-configuration-envrc config)) + (serialize-text-config + config (append + (list (mixed-text-file "envrc-config" + "(envrc-global-mode)\n")) + (home-emacs-envrc-configuration-configurations + (maybe-value + (home-emacs-configuration-envrc config)))))) (format #f "(setq custom-file (expand-file-name ~s user-emacs-directory))~%" (home-emacs-configuration-custom-file config)) "(load custom-file :noerror)\n" |
