                       (cmucl ("cmucl") :coding-system utf-8-unix)
                       (ccl   ("ccl")   :coding-system utf-8-unix)))
 
+              (eval-when-compile
+                (require 'slime-repl))
+
               (setq slime-repl-history-remove-duplicates t
                     slime-repl-history-trim-whitespaces t)))
 
 (use-package hy-mode
-  :commands (hy-mode org-babel-execute:hy)
+  :commands (hy-mode)
   :config (progn
             (add-hook 'hy-mode-hook #'lispy-mode)
-            (add-hook 'hy-mode-hook #'inferior-lisp)
-
-            (defun org-babel-execute:hy (body params)
-              ;; http://kitchingroup.cheme.cmu.edu/blog/2016/03/30/OMG-A-Lisp-that-runs-python/
-              (ignore params)
-              (let* ((temporary-file-directory ".")
-                     (tempfile (make-temp-file "hy-")))
-                (with-temp-file tempfile
-                  (insert body))
-                (unwind-protect
-                    (shell-command-to-string
-                     (format "hy %s" tempfile))
-                  (delete-file tempfile))))))
-
+            (add-hook 'hy-mode-hook #'inferior-lisp)))
+
+(defun org-babel-execute:hy (body params)
+  ;; http://kitchingroup.cheme.cmu.edu/blog/2016/03/30/OMG-A-Lisp-that-runs-python/
+  "Execute hy code BODY with parameters PARAMS."
+  (ignore params)
+  (let* ((temporary-file-directory ".")
+         (tempfile (make-temp-file "hy-")))
+    (with-temp-file tempfile
+      (insert body))
+    (unwind-protect
+        (shell-command-to-string
+         (format "hy %s" tempfile))
+      (delete-file tempfile))))
  
 ;; * TeX

            (setq network-security-level 'high
                  nsm-save-host-names t)

            (defun db/sort-nsm-permanent-settings ()
              (setq nsm-permanent-host-settings
                    (cl-sort nsm-permanent-host-settings
                             #'string<
                             :key #'second)))

            (advice-add 'nsm-write-settings
                        :before #'db/sort-nsm-permanent-settings)))

(use-package gnutls
  :defer t
  :config (progn
            (setq gnutls-log-level 0    ; too noisy otherwise
                  gnutls-min-prime-bits 1024
                  gnutls-verify-error t)

            (defun db/update-cert-file-directory (symbol new-value)
              "Set SYMBOL to NEW-VALUE and, assuming that NEW-VALUE points
to a directory, add all certificate files in it to
`gnutls-trustfiles’.

Certificates are assumed to be of the form *.crt."
              (set symbol new-value)
              (when (file-directory-p new-value)
                (dolist (cert-file (directory-files new-value t ".crt$"))
                  (add-to-list 'gnutls-trustfiles cert-file))))

            (defcustom db/cert-file-directory "~/.local/etc/certs/"
              "Local directory with additional certificates."
              :group 'personal-settings
              :type 'string
              :set #'db/update-cert-file-directory)))

(use-package epg
  :defer t

            (add-to-list 'font-lock-maximum-decoration '(wdired-mode . 1))
            (add-to-list 'font-lock-maximum-decoration '(dired-mode . 1))

            (when on-windows
              (setq dired-free-space-program nil))

