aboutsummaryrefslogtreecommitdiff
path: root/.dir-locals.el
diff options
context:
space:
mode:
Diffstat (limited to '.dir-locals.el')
-rw-r--r--.dir-locals.el21
1 files changed, 20 insertions, 1 deletions
diff --git a/.dir-locals.el b/.dir-locals.el
index 19f15b3e1a..0496e41ca2 100644
--- a/.dir-locals.el
+++ b/.dir-locals.el
@@ -8,7 +8,26 @@
;; For use with 'bug-reference-prog-mode'.
(bug-reference-url-format . "http://bugs.gnu.org/%s")
(bug-reference-bug-regexp
- . "<https?://\\(debbugs\\|bugs\\)\\.gnu\\.org/\\([0-9]+\\)>")))
+ . "<https?://\\(debbugs\\|bugs\\)\\.gnu\\.org/\\([0-9]+\\)>")
+
+ ;; Emacs-Guix
+ (eval . (setq guix-directory
+ (locate-dominating-file default-directory ".dir-locals.el")))
+
+ ;; Geiser
+ ;; This allows automatically setting the `geiser-guile-load-path'
+ ;; variable when using various Guix checkouts (e.g., via git worktrees).
+ (eval . (let* ((root-dir (expand-file-name
+ (locate-dominating-file
+ default-directory ".dir-locals.el")))
+ ;; Workaround for bug https://issues.guix.gnu.org/43818.
+ (root-dir* (directory-file-name root-dir)))
+ (unless (boundp 'geiser-guile-load-path)
+ (defvar geiser-guile-load-path '()))
+ (make-local-variable 'geiser-guile-load-path)
+ (cl-pushnew root-dir* geiser-guile-load-path
+ :test #'string-equal)))))
+
(c-mode . ((c-file-style . "gnu")))
(scheme-mode
.