summaryrefslogtreecommitdiff
path: root/.config/emacs/init.el
blob: 80edf5a67692ce38d744c58d18d5863ec9fe4fa6 (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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
;;; -*- 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)

(setenv "PATH" (format "%s:%s" (expand-file-name "~/.local/bin/") (getenv "PATH")))

(keymap-global-unset "C-z")
(keymap-global-unset "C-x C-z")
(keymap-global-set "C-x C-b" #'ibuffer)
(keymap-global-set "H-SPC" #'pop-to-mark-command)

(setopt warning-minimum-level :error

	inhibit-startup-message t
        initial-major-mode 'eshell-mode
        initial-scratch-message nil

	text-scale-mode-step 1.1

	set-mark-command-repeat-pop t

	kill-whole-line t
	kill-ring-max 1000
	undo-limit 320000

	sentence-end-double-space nil
        next-line-add-newlines t
        scroll-up-aggressively '0.50
        scroll-down-aggressively '0.50
	scroll-step 1

	use-short-answers t
        vc-follow-symlinks t
        completion-ignore-case t
        read-buffer-completion-ignore-case t)
(setq-default tab-width 8)
(add-to-list 'default-frame-alist '(alpha . (92 . 92)))
(blink-cursor-mode -1)
(indent-tabs-mode 0)
(fringe-mode '(0 . 0))
(global-visual-line-mode t)
(menu-bar-mode -1)
(minibuffer-depth-indicate-mode 1)
(scroll-bar-mode -1)
(tool-bar-mode -1)
(tooltip-mode -1)


(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-save-newsrc-file nil
        gnus-read-newsrc-file nil)


;; packages installed via guix
(setopt package-archives nil
        package-enable-at-startup t)
(add-to-list 'load-path (expand-file-name "~/.guix-home/profile/share/emacs/site-lisp"))
(require 'guix-autoloads)
(guix-prettify-global-mode 1)


;;;; 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--utility)
(require 'bd--secret) ;; contains bookmarks/email vars---git ignored
(require 'bd--browse)
(require 'bd--rss)
(require 'bd--gpg)
(require 'bd--tabs)
(require 'bd--project)
(require 'bd--files)
(require 'bd--dictionary)
(require 'bd--irc)
(require 'bd--shells)
(require 'bd--minibuffer)
(require 'bd--buffers)
(require 'bd--devel)
(require 'bd--org)
(require 'bd--notes)
(require 'bd--emms)
(require 'bd--modeline)
(require 'bd--themes)
(require 'bd--exwm-windowing)


;;; init.el ends here