73 lines
2.5 KiB
EmacsLisp
73 lines
2.5 KiB
EmacsLisp
|
;; Ensure package management is set up
|
||
|
(require 'package)
|
||
|
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))
|
||
|
(package-initialize)
|
||
|
|
||
|
;; Use use-package for better package management
|
||
|
(unless (package-installed-p 'use-package)
|
||
|
(package-refresh-contents)
|
||
|
(package-install 'use-package))
|
||
|
|
||
|
(require 'use-package)
|
||
|
|
||
|
;; Geiser configuration
|
||
|
(use-package geiser
|
||
|
:ensure t
|
||
|
:config
|
||
|
(setq geiser-active-implementations '(guile)))
|
||
|
|
||
|
(use-package geiser-guile
|
||
|
:ensure t)
|
||
|
|
||
|
(custom-set-variables
|
||
|
;; custom-set-variables was added by Custom.
|
||
|
;; If you edit it by hand, you could mess it up, so be careful.
|
||
|
;; Your init file should contain only one such instance.
|
||
|
;; If there is more than one, they won't work right.
|
||
|
'(inhibit-startup-screen t)
|
||
|
'(package-selected-packages '(geiser-guile geiser))
|
||
|
'(safe-local-variable-values
|
||
|
'((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))
|
||
|
t))
|
||
|
(setq-local fill-paragraph-function #'emacs27-lisp-fill-paragraph))
|
||
|
(eval modify-syntax-entry 43 "'")
|
||
|
(eval modify-syntax-entry 36 "'")
|
||
|
(eval modify-syntax-entry 126 "'")
|
||
|
(geiser-repl-per-project-p . t)
|
||
|
(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))))
|
||
|
(eval setq-local guix-directory
|
||
|
(locate-dominating-file default-directory ".dir-locals.el"))
|
||
|
(eval add-to-list 'completion-ignored-extensions ".go"))))
|
||
|
(custom-set-faces
|
||
|
;; custom-set-faces was added by Custom.
|
||
|
;; If you edit it by hand, you could mess it up, so be careful.
|
||
|
;; Your init file should contain only one such instance.
|
||
|
;; If there is more than one, they won't work right.
|
||
|
'(default ((t (:family "Source Code Pro" :foundry "ADBO" :slant normal :weight regular :height 158 :width normal)))))
|