(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))
(package-initialize)
(electric-pair-mode 1) (menu-bar-mode -1)
(setq visible-bell t
      compilation-scroll-output t
      evil-want-keybinding nil)
(require 'evil) (evil-mode 1) (evil-collection-init)
(require 'company) (global-company-mode 1)
(require 'dashboard) (dashboard-setup-startup-hook)
(add-to-list 'load-path
	     "~/.emacs.d/plugins/yasnippet")
(require 'yasnippet) (yas-global-mode 1)
(require 'ansi-color) (ansi-color-for-comint-mode-on)
(require 'which-key) (which-key-mode 1)
(require 'geiser)

(defun enable-lines () (display-line-numbers-mode t))
(add-hook 'prog-mode-hook #'enable-lines)
(add-hook 'format-all-mode-hook 'format-all-ensure-formatter)
(add-hook 'prog-mode-hook 'format-all-mode)
(add-hook 'prog-mode-hook 'eglot-ensure)

;; keybindings
(global-set-key (kbd "M-RET") #'recompile)
(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.
 '(package-selected-packages
   '(which-key geiser-guile cider yasnippet-snippets format-all exec-path-from-shell evil-collection dashboard company)))
(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.
 )