summaryrefslogtreecommitdiff
path: root/.config/emacs/init.el
blob: 441fd6ea45a71d974de7aeabd88ae8ffd6a98e21 (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
115
116
117
;;; -*- 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 "C-c 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)
(add-hook #'before-save-hook #'delete-trailing-whitespace)

(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-emacs)
(guix-emacs-autoload-packages)
(guix-prettify-global-mode 1)
(setopt guix-directory "/home/bdunahu/pt/guix")

;;;; 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--buffer)
(require 'bd--window)
(require 'bd--devel)
(require 'bd--org)
(require 'bd--notes)
(require 'bd--emms)
(require 'bd--modeline)
(require 'bd--themes)
(require 'bd--exwm)


;;; init.el ends here