diff options
| author | 2026-03-04 23:50:09 -0800 | |
|---|---|---|
| committer | 2026-03-04 23:50:09 -0800 | |
| commit | 28aa34bf8d8965ab3f88b01bf75ce0a7ad56672e (patch) | |
| tree | be668cdf30954e86cd7a613ab9e764c507a92893 | |
| parent | 4548d52fdaa0ab9a10d04d8fdf970bafb44e176d (diff) | |
| download | new-dotfiles-28aa34bf8d8965ab3f88b01bf75ce0a7ad56672e.tar.gz new-dotfiles-28aa34bf8d8965ab3f88b01bf75ce0a7ad56672e.zip | |
Add ‘home-zsh-direnv-service-type’
| -rw-r--r-- | oni/home/config/common.scm | 3 | ||||
| -rw-r--r-- | oni/home/services/zsh.scm | 36 |
2 files changed, 37 insertions, 2 deletions
diff --git a/oni/home/config/common.scm b/oni/home/config/common.scm index 87b268f..8e11b33 100644 --- a/oni/home/config/common.scm +++ b/oni/home/config/common.scm @@ -346,4 +346,5 @@ LocalForward 19999 localhost:19999")) ,(local-file "../../../zsh/.zsh/functions/x-yank")) (".zsh/functions/_abcde" ,(local-file "../../../zsh/.zsh/functions/_abcde")))) - (service home-zsh-completions-service-type))) + (service home-zsh-completions-service-type) + (service home-zsh-direnv-service-type))) diff --git a/oni/home/services/zsh.scm b/oni/home/services/zsh.scm index e8b6a14..6e4ee07 100644 --- a/oni/home/services/zsh.scm +++ b/oni/home/services/zsh.scm @@ -22,7 +22,9 @@ home-zsh-atuin-service-type home-zsh-atuin-configuration home-zsh-completions-service-type - home-zsh-completions-configuration)) + home-zsh-completions-configuration + home-zsh-direnv-service-type + home-zsh-direnv-configuration)) (define-maybe string) @@ -276,3 +278,35 @@ statistics. For example, consider kubectl get rather than just kubectl.") (compose identity) (default-value (home-zsh-completions-configuration)) (description "Install and configure zsh-completions."))) + +(define-configuration home-zsh-direnv-configuration + (package + (package direnv) + "Package to use for setting direnv.")) + +(define (add-zsh-direnv-packages config) + (list (home-zsh-direnv-configuration-package config))) + +(define (add-zsh-direnv config) + (home-zsh-extension + (zshrc + (list + (mixed-text-file + "zshrc" + "eval \"$(" + (home-zsh-direnv-configuration-package config) + "/bin/direnv hook zsh)\""))))) + +(define home-zsh-direnv-service-type + (service-type + (name 'home-zsh-direnv) + (extensions + (list (service-extension + home-profile-service-type + add-zsh-direnv-packages) + (service-extension + home-zsh-service-type + add-zsh-direnv))) + (compose identity) + (default-value (home-zsh-direnv-configuration)) + (description "Install and configure direnv."))) |
