aboutsummaryrefslogtreecommitdiff
path: root/emacs/init.el
blob: 1d467d7acac5252a7f4fd6796d625d8b9ddec23e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
(require 'package)
(add-to-list 'package-archives
             '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)

(unless package-archive-contents
  (package-refresh-contents))

(require 'use-package)
(setq use-package-always-ensure t)

(scroll-bar-mode -1)
(setq display-line-numbers-type 'relative)
(global-display-line-numbers-mode 1)
(setq-default indent-tabs-mode nil)

(setq custom-file
      (make-temp-file "emacs-custom-"))

;; move temp files out of the cwd
(let ((auto-save-dir (concat user-emacs-directory "auto-save/"))
      (backup-dir (concat user-emacs-directory "backups/")))
  (make-directory auto-save-dir t)
  (make-directory backup-dir t)
  (setq auto-save-file-name-transforms
        `((".*" ,auto-save-dir t)))
  (setq backup-directory-alist
        `(("." . ,backup-dir))))

(use-package evil
  :init
  (setq evil-want-keybinding nil)
  (setq evil-want-C-u-scroll t)
  :config
  (evil-mode 1))

(use-package evil-collection
  :after evil
  :config
  (evil-collection-init))

(add-hook 'eshell-mode-hook (lambda () (evil-insert-state)))

(use-package vs-dark-theme
  :config
  (load-theme 'vs-dark t))

(use-package apheleia
  :config
  (add-to-list 'apheleia-mode-alist '(scheme-mode . lisp-indent))
  (apheleia-global-mode +1))

(use-package geiser-guile)

(use-package nix-ts-mode
  :mode "\\.nix\\'")

(use-package rainbow-delimiters
  :hook (scheme-mode . rainbow-delimiters-mode))

(add-hook 'scheme-mode-hook #'electric-pair-local-mode)

(use-package magit
  :bind ("C-x g" . magit-status))