                 ("<M-S-return>" . cider-eval-buffer)
                 ("<C-M-S-return>" . cider-load-file))))
 
+(use-package geiser
+  :mode ("\\.scm\\'" . scheme-mode)
+  :config
+  (setq geiser-default-implementation 'guile)
+  (bind-keys :map scheme-mode-map
+             ("<C-return>" . geiser-eval-last-sexp)
+             ("<C-M-return>" . geiser-eval-definition)
+             ("<C-S-return>" . geiser-eval-region)
+             ("<M-S-return>" . geiser-eval-buffer)
+             ("<C-M-S-return>" . geiser-load-file))
+
+  (use-package quack))
+
 (with-eval-after-load 'prolog
   (use-package ediprolog
     ;; defer with :bind somehow does not work properly for ediprolog


(use-package org
  :mode ("\\.org\\'" . org-mode)
  :config
  (setq org-log-done 'time
        org-src-fontify-natively t
        org-latex-listings 'minted
        org-confirm-babel-evaluate nil)

              (turn-on-cdlatex)
              (latex-preview-pane-enable)
              (TeX-PDF-mode 1)
              (push '("latexmk" "latexmk -shell-escape -pdf %s"
                      TeX-run-TeX nil t :help "Run latexmk on file")
                    TeX-command-list)
              (setq TeX-command-default "latexmk")
