aboutsummaryrefslogtreecommitdiff
;; Per-directory local variables for GNU Emacs 23 and later.

((nil
  . ((fill-column . 78)
     (tab-width   .  8)
     (sentence-end-double-space . t)

     ;; For use with 'bug-reference-prog-mode'.  Extra bug-reference
     ;; configuration should be done in your Emacs user configuration file;
     ;; refer to (info (guix) The Perfect Setup).
     (bug-reference-bug-regexp
      . "\\(<https?://\\bugs\\.gnu\\.org/\\([0-9]+\\)>\\)")
     (bug-reference-url-format . "https://issues.guix.gnu.org/%s")

     (eval . (add-to-list 'completion-ignored-extensions ".go"))

     ;; Emacs-Guix
     (eval . (setq-local guix-directory
                         (locate-dominating-file default-directory
                                                 ".dir-locals.el")))

     ;; YASnippet
     (eval . (with-eval-after-load
                 'yasnippet
               (let ((guix-yasnippets
                      (expand-file-name
                       "etc/snippets/yas"
                       (locate-dominating-file default-directory
                                               ".dir-locals.el"))))
                 (unless (member guix-yasnippets yas-snippet-dirs)
                   (add-to-list 'yas-snippet-dirs guix-yasnippets)
                   (yas-reload-all)))))

     ;; Geiser
     ;; This allows automatically setting the `geiser-guile-load-path'
     ;; variable when using various Guix checkouts (e.g., via git worktrees).
     (geiser-repl-per-project-p . t)))

 (c-mode          . ((c-file-style . "gnu")))
 (scheme-mode
  .
  ((indent-tabs-mode . nil)
   (eval . (put 'eval-when 'scheme-indent-function 1))
   (eval . (put 'call-with-prompt 'scheme-indent-function 1))
   (eval . (put 'test-assert 'scheme-indent-function 1))
   (eval . (put 'test-assertm 'scheme-indent-function 1))
   (eval . (put 'test-equalm 'scheme-indent-function 1))
   (eval . (put 'test-equal 'scheme-indent-function 1))
   (eval . (put 'test-eq 'scheme-indent-function 1))
   (eval . (put 'call-with-input-string 'scheme-indent-function 1))
   (eval . (put 'call-with-port 'scheme-indent-function 1))
   (eval . (put 'guard 'scheme-indent-function 1))
   (eval . (put 'lambda* 'scheme-indent-function 1))
   (eval . (put 'substitute* 'scheme-indent-function 1))
   (eval . (put 'match-record 'scheme-indent-function 3))
   (eval . (put 'match-record-lambda 'scheme-indent-function 2))

   ;; TODO: Contribute these to Emacs' scheme-mode.
   (eval . (put 'let-keywords 'scheme-indent-function 3))

   ;; 'modify-inputs' and its keywords.
   (eval . (put 'modify-inputs 'scheme-indent-function 1))
   (eval . (put 'replace 'scheme-indent-function 1))

   ;; 'modify-phases' and its keywords.
   (eval . (put 'modify-phases 'scheme-indent-function 1))
   (eval . (put 'replace 'scheme-indent-function 1))
   (eval . (put 'add-before 'scheme-indent-function 2))
   (eval . (put 'add-after 'scheme-indent-function 2))

   (eval . (put 'modify-services 'scheme-indent-function 1))
   (eval . (put 'with-directory-excursion 'scheme-indent-function 1))
   (eval . (put 'with-file-lock 'scheme-indent-function 1))
   (eval . (put 'with-file-lock/no-wait 'scheme-indent-function 1))
   (eval . (put 'with-profile-lock 'scheme-indent-function 1))
   (eval . (put 'with-writable-file 'scheme-indent-function 2))

   (eval . (put 'package 'scheme-indent-function 0))
   (eval . (put 'package/inherit 'scheme-indent-function 1))
   (eval . (put 'origin 'scheme-indent-function 0))
   (eval . (put 'build-system 'scheme-indent-function 0))
   (eval . (put 'bag 'scheme-indent-function 0))
   (eval . (put 'graft 'scheme-indent-function 0))
   (eval . (put 'operating-system 'scheme-indent-function 0))
   (eval . (put 'file-system 'scheme-indent-function 0))
   (eval . (put 'swap-space 'scheme-indent-function 0))
   (eval . (put 'manifest-entry 'scheme-indent-function 0))
   (eval . (put 'manifest-pattern 'scheme-indent-function 0))
   (eval . (put 'substitute-keyword-arguments 'scheme-indent-function 1))
   (eval . (put 'with-store 'scheme-indent-function 1))
   (eval . (put 'with-store/non-blocking 'scheme-indent-function 1))
   (eval . (put 'with-external-store 'scheme-indent-function 1))
   (eval . (put 'with-error-handling 'scheme-indent-function 0))
   (eval . (put 'with-mutex 'scheme-indent-function 1))
   (eval . (put 'with-atomic-file-output 'scheme-indent-function 1))
   (eval . (put 'call-with-compressed-output-port 'scheme-indent-function 2))
   (eval . (put 'call-with-decompressed-port 'scheme-indent-function 2))
   (eval . (put 'call-with-gzip-input-port 'scheme-indent-function 1))
   (eval . (put 'call-with-gzip-output-port 'scheme-indent-function 1))
   (eval . (put 'call-with-lzip-input-port 'scheme-indent-function 1))
   (eval . (put 'call-with-lzip-output-port 'scheme-indent-function 1))
   (eval . (put 'signature-case 'scheme-indent-function 1))
   (eval . (put 'emacs-batch-eval 'scheme-indent-function 0))
   (eval . (put 'emacs-batch-edit-file 'scheme-indent-function 1))
   (eval . (put 'emacs-substitute-sexps 'scheme-indent-function 1))
   (eval . (put 'emacs-substitute-variables 'scheme-indent-function 1))
   (eval . (put 'with-derivation-narinfo 'scheme-indent-function 1))
   (eval . (put 'with-derivation-substitute 'scheme-indent-function 2))
   (eval . (put 'with-status-report 'scheme-indent-function 1))
   (eval . (put 'with-status-verbosity 'scheme-indent-function 1))
   (eval . (put 'with-build-handler 'scheme-indent-function 1))

   (eval . (put 'mlambda 'scheme-indent-function 1))
   (eval . (put 'mlambdaq 'scheme-indent-function 1))
   (eval . (put 'syntax-parameterize 'scheme-indent-function 1))
   (eval . (put 'with-monad 'scheme-indent-function 1))
   (eval . (put 'mbegin 'scheme-indent-function 1))
   (eval . (put 'mwhen 'scheme-indent-function 1))
   (eval . (put 'munless 'scheme-indent-function 1))
   (eval . (put 'mlet* 'scheme-indent-function 2))
   (eval . (put 'mlet 'scheme-indent-function 2))
   (eval . (put 'mparameterize 'scheme-indent-function 2))
   (eval . (put 'run-with-store 'scheme-indent-function 1))
   (eval . (put 'run-with-state 'scheme-indent-function 1))
   (eval . (put 'wrap-program 'scheme-indent-function 1))
   (eval . (put 'wrap-script 'scheme-indent-function 1))
   (eval . (put 'with-imported-modules 'scheme-indent-function 1))
   (eval . (put 'with-extensions 'scheme-indent-function 1))
   (eval . (put 'with-parameters 'scheme-indent-function 1))
   (eval . (put 'let-system 'scheme-indent-function 1))
   (eval . (put 'with-build-variables 'scheme-indent-function 2))

   (eval . (put 'with-database 'scheme-indent-function 2))
   (eval . (put 'call-with-database 'scheme-indent-function 1))
   (eval . (put 'call-with-transaction 'scheme-indent-function 1))
   (eval . (put 'call-with-retrying-transaction 'scheme-indent-function 1))

   (eval . (put 'call-with-container 'scheme-indent-function 1))
   (eval . (put 'container-excursion 'scheme-indent-function 1))
   (eval . (put 'eventually 'scheme-indent-function 1))

   (eval . (put 'call-with-progress-reporter 'scheme-indent-function 1))
   (eval . (put 'with-repository 'scheme-indent-function 2))
   (eval . (put 'with-temporary-git-repository 'scheme-indent-function 2))
   (eval . (put 'with-environment-variables 'scheme-indent-function 1))
   (eval . (put 'with-fresh-gnupg-setup 'scheme-indent-function 1))

   (eval . (put 'with-paginated-output-port 'scheme-indent-function 1))

   (eval . (put 'with-shepherd-action 'scheme-indent-function 3))

   (eval . (put 'with-http-server 'scheme-indent-function 1))

   ;; This notably allows '(' in Paredit to not insert a space when the
   ;; preceding symbol is one of these.
   (eval . (modify-syntax-entry ?~ "'"))
   (eval . (modify-syntax-entry ?$ "'"))
   (eval . (modify-syntax-entry ?+ "'"))

   ;; Emacs 28 changed the behavior of 'lisp-fill-paragraph', which causes the
   ;; first line of package descriptions to extrude past 'fill-column', and
   ;; somehow that is deemed more correct upstream (see:
   ;; https://issues.guix.gnu.org/56197).
   (eval . (progn
             (require 'lisp-mode)
             (defun emacs27-lisp-fill-paragraph (&optional justify)
               (interactive "P")
               (or (fill-comment-paragraph justify)
                   (let ((paragraph-start
                          (concat paragraph-start
                                  "\\|\\s-*\\([(;\"]\\|\\s-:\\|`(\\|#'(\\)"))
                         (paragraph-separate
                          (concat paragraph-separate "\\|\\s-*\".*[,\\.]$"))
                         (fill-column (if (and (integerp emacs-lisp-docstring-fill-column)
                                               (derived-mode-p 'emacs-lisp-mode))
                                          emacs-lisp-docstring-fill-column
                                        fill-column)))
                     (fill-paragraph justify))
                   ;; Never return nil.
                   t))
             (setq-local fill-paragraph-function #'emacs27-lisp-fill-paragraph)))))

 (emacs-lisp-mode . ((indent-tabs-mode . nil)))
 (texinfo-mode    . ((indent-tabs-mode . nil)
                     (fill-column . 72))))
ython-sphinxcontrib-programoutput): Update to 0.17. [arguments]: Delete field. Maxim Cournoyer 2022-05-12gnu: python-sphinxcontrib-websupport: Update to 1.2.4....* gnu/packages/sphinx.scm (python-sphinxcontrib-websupport): Update to 1.2.4. Maxim Cournoyer 2022-05-12gnu: python-sphinx-click: Update to 4.0.3 and enable tests....* gnu/packages/sphinx.scm (python-sphinx-click): Update to 4.0.3. [arguments]: Delete field. [native-inputs]: Delete python-coverage. Add python-pytest and python-wheel. Move python-click, python-docutils and python-sphinx to... [propagated-inputs]: ... here. Maxim Cournoyer 2022-05-12gnu: python-sphinx-copybutton: Update to 0.5.0....* gnu/packages/sphinx.scm (python-sphinx-copybutton): Update to 0.5.0. [propagated-inputs]: Delete python-flit, python-setuptools and python-wheel. Maxim Cournoyer 2022-05-12gnu: python-pydata-sphinx-theme: Update to 0.7.2....* gnu/packages/sphinx.scm (python-pydata-sphinx-theme): Update to 0.7.2. Add TODO comment. [arguments]: New field. [native-inputs]: Delete python-jupyter-sphinx, python-numpy, python-numpydoc, python-pandas, python-recommonmark and python-xarray. Move python-docutils and python-sphinx to... [propagated-inputs]: ... here. Add python-jinja2 Maxim Cournoyer 2022-05-12gnu: python-sphinx: Update to 4.5.0....* gnu/packages/sphinx.scm (python-sphinx): Update to 4.5.0. [phases]{check}: Set HOME to /tmp. [propagated-inputs]: Add python-importlib-metadata. [native-inputs]: Add python-cython. Maxim Cournoyer 2022-05-12gnu: Add python-sphinx-sitemap....* gnu/packages/sphinx.scm (python-sphinx-sitemap): New variable. Maxim Cournoyer 2022-05-12gnu: Add python-sphinx-theme-builder....* gnu/packages/sphinx.scm (python-sphinx-theme-builder): New variable. Maxim Cournoyer 2022-05-12gnu: python-sphinx: Propagate TexLive dependencies....* gnu/packages/sphinx.scm (python-sphinx): [propagated-inputs]: Add texlive-amsfonts, texlive-amsmath, texlive-capt-of, texlive-carlisle, texlive-etoolbox, texlive-generic-ltxcmds, texlive-hyperref, texlive-latex-base, texlive-latex-cmap, texlive-latex-fancyhdr, texlive-latex-fancyvrb, texlive-latex-fncychap, texlive-latex-float, texlive-latex-framed, texlive-latex-geometry, texlive-latex-graphics, texlive-latex-kvoptions, texlive-latex-needspace, texlive-latex-parskip, texlive-latex-preview, texlive-latex-tabulary, texlive-latex-titlesec, texlive-latex-tools, texlive-latex-upquote, texlive-latex-varwidth, texlive-oberdiek, texlive-stringenc, texlive-wrapfig, texlive-xcolor and texlive-zapfding. [native-inputs]: Remove graphviz, python-mock and python-nose. * gnu/packages/tex.scm (texlive-xcolor): Add TODO comment. * gnu/packages/tex.scm (texlive-hyperref): Likewise. Maxim Cournoyer 2022-03-17gnu: python-jupyter-sphinx: Run tests....* gnu/packages/sphinx.scm (python-jupyter-sphinx)[source]: Download using git-fetch. [arguments]: Use custom 'check phase. [native-inputs]: Add python-pytest. Efraim Flashner 2022-01-22gnu: python-sphinx-autobuild: Update to 2021.3.14....* gnu/packages/sphinx.scm (python-sphinx-autobuild): Update to 2021.3.14. [arguments]: Remove obsolete phase. Simplify check override. [propagated-inputs]: Remove PYTHON-ARGH, PYTHON-PATHTOOLS, PYTHON-PORT-FOR, PYTHON-PYYAML, PYTHON-TORNADO and PYTHON-WATCHDOG. Add PYTHON-COLORAMA and PYTHON-SPHINX. Marius Bakke 2022-01-20gnu: Remove python2-sphinx-rtd-theme....* gnu/packages/sphinx.scm (python2-sphinx-rtd-theme): Remove variable. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Vinicius Monego 2022-01-20gnu: Remove python2-guzzle-sphinx-theme....* gnu/packages/sphinx.scm (python2-guzzle-sphinx-theme): Remove variable. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Vinicius Monego 2022-01-20gnu: Remove python2-sphinx-cloud-sptheme....* gnu/packages/sphinx.scm (python2-sphinx-cloud-sptheme): Remove variable. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Vinicius Monego 2022-01-20gnu: Remove python2-sphinx-repoze-autointerface....* gnu/packages/sphinx.scm (python2-sphinx-repoze-autointerface): Remove variable. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Vinicius Monego 2022-01-20gnu: Remove python2-sphinx-me....* gnu/packages/sphinx.scm (python2-sphinx-me): Remove variable. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Vinicius Monego 2022-01-20gnu: Remove python2-sphinxcontrib-programoutput....* gnu/packages/sphinx.scm (python2-sphinxcontrib-programoutput): Remove variable. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Vinicius Monego 2022-01-17gnu: python-sphinxcontrib-svg2pdfconverter: Update to 1.2.0....* gnu/packages/sphinx.scm (python-sphinxcontrib-svg2pdfconverter): Update to 1.2.0. [arguments]: New field. Marius Bakke 2022-01-13gnu: Add python-sphinx-click....* gnu/packages/sphinx.scm (python-sphinx-click): New variable. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr> Petr Hodina 2022-01-13gnu: Add python-sphinxcontrib-apidoc....* gnu/packages/sphinx.scm (python-sphinxcontrib-apidoc): New variable. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr> Petr Hodina 2022-01-12gnu: python-sphinx-gallery: Update to 0.10.1....* gnu/packages/sphinx.scm (python-sphinx-gallery): Update to 0.10.1. Marius Bakke 2022-01-12gnu: python-nbsphinx: Update to 0.8.8....* gnu/packages/sphinx.scm (python-nbsphinx): Update to 0.8.8. Marius Bakke