summaryrefslogtreecommitdiff
path: root/.config/emacs/init.el
blob: ee0c8439a0ddf449f1bae2cee6567b1b40ae39c8 (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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
;;; -*- lexical-binding: t; -*-
;;; Commentary:
;;; Code:


;;;; auto-generated files
;; disable the custom file by making it temporary
(setopt custom-file (make-temp-file "emacs-custom-")
        tramp-auto-save-directory (expand-file-name "tmp/auto_saves/sessions/" user-emacs-directory)
        ;; disable lockfiles
        create-lockfiles nil
        ;; move auto-saves to tmp folder
        auto-save-list-file-prefix (expand-file-name "tmp/auto_saves/sessions/" user-emacs-directory)
        auto-save-file-transforms `((".*" ,(expand-file-name "tmp/auto_saves/" user-emacs-directory) t))
        ;; move backups to tmp folder
        backup-directory-alist `(("." . ,(expand-file-name "tmp/backups/" user-emacs-directory))))
(make-directory (expand-file-name "tmp/auto_saves/" user-emacs-directory) t)

;;;; display type
(setq display (getenv "XDG_SESSION_TYPE"))
;;;; path
(setenv "PATH" (format "%s:%s" (expand-file-name "~/.local/bin/") (getenv "PATH")))

;;;; warnings
(setopt warning-minimum-level :error)


;;;; gnus
(keymap-global-set "C-c m" #'gnus)
(setopt readmail-command 'gnus
        mail-user-agent 'gnus-user-agent

        gnus-init-file (expand-file-name "gnus" user-emacs-directory)
        gnus-home-directory (expand-file-name "gnus-home" user-emacs-directory)
        gnus-directory (expand-file-name "News" gnus-home-directory)
        mail-source-directory (expand-file-name "Mail" gnus-home-directory)

        ;; gnus forever
        gnus-save-newsrc-file nil
        gnus-read-newsrc-file nil)


;;;; configure packages
;; external package manager
(setopt package-archives nil
        package-enable-at-startup t)
;; path to system-level packages
(add-to-list 'load-path (expand-file-name "~/.guix-home/profile/share/emacs/site-lisp"))
(guix-emacs-autoload-packages)
;; use-package
(require 'use-package-ensure)
(setopt use-package-always-ensure t)
;; (setq use-package-verbose t)


;;;; add my modules to load path
(mapc
 (lambda (path)
   (add-to-list 'load-path (locate-user-emacs-file path)))
 '("modules" "libraries"))


;;;; load modules
(require 'bd--essentials)
(require 'bd--rss)
(require 'bd--eww)
(require 'bd--tabs)
(require 'bd--files)
(require 'bd--image)
(require 'bd--dictionary)
(require 'bd--erc)
(require 'bd--shells)
(require 'bd--minibuffer)
(require 'bd--windows)
(require 'bd--devel)
(require 'bd--org)
(require 'bd--roam)
(require 'bd--emms)
(require 'bd--mail) ;; (gitignored)
(require 'bd--notmuch) ;; (gitignored)
(require 'bd--modeline)
(require 'bd--themes)


;;; init.el ends here