blob: a176fc9de0a28c3e75b2d8945b636c7b965e3223 (
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
|
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
(remove-hook 'doom-first-input-hook #'evil-snipe-mode)
(setq doom-font (font-spec :family "Berkeley Mono" :size 12.0))
(setq doom-theme 'doom-badger)
(setq display-line-numbers-type t)
(setq org-directory "~/notes/")
(use-package! emms
:config
(require 'emms-setup)
(require 'emms-player-mpd)
(emms-all)
(emms-default-players)
(emms-mpris-enable)
(setq emms-source-file-default-directory "~/Music/")
(setq emms-player-list
'(emms-player-mpd)))
(map!
:leader
:prefix "e"
:desc "Browser" "b" #'emms-browser
:desc "Emms" "e" #'emms
:desc "Play playlist" "a" #'emms-play-playlist)
;; mood-line
(use-package mood-line
;; Enable mood-line
:config
(mood-line-mode)
;; Use pretty Fira Code-compatible glyphs
:custom
(mood-line-glyph-alist mood-line-glyphs-fira-code))
(use-package! jabber
:config
(setq jabber-account-list
'(("roughlynamed@yax.im")))
(jabber-modeline-mode 1)
:hook (kill-emacs . jabber-disconnect))
(map! :leader
:prefix "j"
:desc "Jabber connect" "c" #'jabber-connect-all
:desc "Jabber disconnect" "q" #'jabber-disconnect
:desc "Jabber roster" "r" #'jabber-switch-to-roster-buffer
:desc "Jabber new chat" "C" #'jabber-chat-with
:desc "Jabber groupchat" "g" #'jabber-groupchat-join
:desc "Jabber set status" "s" #'jabber-send-presence)
;; zk4e setup
(use-package! zk4e
:commands (zk4e-list zk4e-edit zk4e-new zk4e-tag-list zk4e-index zk4e-select-notebook
zk4e-goto-error)
:custom
(zk4e-notebook-directories '(("notes" . "~/notes/")))
:config
(zk4e-select-notebook "notes")
(add-hook 'zk4e-edit-hook #'zk4e-maybe-name-buffer))
;; Authentication
(setq auth-sources '("~/.authinfo.gpg")
auth-source-cache-expiry nil)
;; Gnus / IMAP
(setq gnus-select-method
'(nnimap "disroot"
(nnimap-address "disroot.org")
(nnimap-server-port 993)
(nnimap-stream ssl)))
;; SMTP
(setq smtpmail-smtp-server "disroot.org"
smtpmail-smtp-service 587
smtpmail-stream-type 'starttls
message-send-mail-function #'smtpmail-send-it)
;; Identity
(setq user-mail-address "roughlynamed@disroot.org"
user-full-name "Magdalena Szweda")
;; Sent mail
(setq gnus-message-archive-method '(nnimap "disroot")
gnus-message-archive-group "Sent")
;; Mail behavior
(setq gnus-large-newsgroup nil
gnus-fetch-old-headers t
nnmail-expiry-target "Trash")
;; PGP
(setq mml-secure-openpgp-signers
'("3258B28C124AB0891D6C9E929B72909EEF00CBD0")
mml-secure-openpgp-sign-with-sender t)
(add-hook 'message-setup-hook #'message-insert-signature)
(add-hook 'message-send-hook #'mml-secure-message-sign-pgpmime)
(setq message-signature
"\n--\nMagdalena Szweda\nhttps://roughlynamed.net\nPGP: 3258 B28C 124A B089 1D6C 9E92 9B72 909E EF00 CBD0")
(setq-default vterm-shell "/usr/bin/fish")
(setq-default explicit-shell-file-name "/usr/bin/fish")
(setq-default vterm-shell "/usr/bin/fish")
(setq-default explicit-shell-file-name "/usr/bin/fish")
(remove-hook 'doom-first-input-hook #'evil-snipe-mode)
(map! :leader
(:prefix ("n z" . "zk")
:desc "Edit note" "e" #'zk4e-edit
:desc "New note" "n" #'zk4e-new
:desc "List notes" "l" #'zk4e-list
:desc "Index" "i" #'zk4e-index
:desc "Tags" "t" #'zk4e-tag-list
:desc "Switch notebook" "s" #'zk4e-select-notebook
:desc "Error log" "!" #'zk4e-goto-error))
(evil-define-key '(normal visual operator) 'global
"n" 'evil-backward-char
"e" 'evil-next-line
"i" 'evil-previous-line
"o" 'evil-forward-char)
(evil-define-key '(normal visual operator) 'global
"l" 'evil-backward-word-begin
"L" 'evil-backward-WORD-begin
"u" 'evil-forward-word-end
"U" 'evil-forward-WORD-end
"y" 'evil-forward-word-begin
"Y" 'evil-forward-word-begin)
(with-eval-after-load 'evil-ex
(define-key evil-ex-completion-map (kbd "C-l") 'left-word)
(define-key evil-ex-completion-map (kbd "C-y") 'right-word))
(evil-define-key 'normal 'global
"s" 'evil-insert
"S" 'evil-insert-line
"t" 'evil-append
"T" 'evil-append-line
"h" 'evil-open-below
"H" 'evil-open-above)
(evil-define-key '(normal visual) 'global
"w" 'evil-change
"W" 'evil-change-line)
(evil-define-key 'normal 'global
"x" 'evil-delete-char
"c" 'evil-yank
"v" 'evil-paste-after
"X" 'evil-delete-line
"C" 'evil-yank-line
"V" 'evil-paste-before)
(evil-define-key 'visual 'global
"x" 'evil-delete
"c" 'evil-yank
"v" 'evil-paste-after)
(evil-define-key 'normal 'global
"z" 'evil-undo
"Z" 'evil-redo)
(evil-define-key 'normal 'global
"a" 'evil-visual-char
"A" 'evil-visual-line
"ga" 'evil-visual-restore)
(evil-define-key '(normal visual operator) 'global
"p" 'evil-find-char-to
"P" 'evil-find-char-to-backward
"b" 'evil-repeat-find-char
"B" 'evil-repeat-find-char-reverse
"k" 'evil-search-next
"K" 'evil-search-previous)
(with-eval-after-load 'evil
(evil-define-key '(operator visual) 'global "r" evil-inner-text-objects-map))
(define-prefix-command 'my-colemak-fold-map)
(evil-define-key '(normal visual) 'global "j" 'my-colemak-fold-map)
(define-key my-colemak-fold-map "j" 'evil-scroll-line-to-center)
(define-key my-colemak-fold-map "n" 'evil-scroll-line-to-top)
(define-key my-colemak-fold-map "e" 'evil-scroll-line-to-bottom)
(evil-define-key 'normal 'global
"gK" 'evil-lookup)
(evil-define-key 'normal 'global
(kbd "C-w n") 'evil-window-left
(kbd "C-w e") 'evil-window-down
(kbd "C-w i") 'evil-window-up
(kbd "C-w o") 'evil-window-right)
;; Whenever you reconfigure a package, make sure to wrap your config in an
;; `with-eval-after-load' block, otherwise Doom's defaults may override your
;; settings. E.g.
;;
;; (with-eval-after-load 'PACKAGE
;; (setq x y))
;;
;; The exceptions to this rule:
;;
;; - Setting file/directory variables (like `org-directory')
;; - Setting variables which explicitly tell you to set them before their
;; package is loaded (see 'C-h v VARIABLE' to look them up).
;; - Setting doom variables (which start with 'doom-' or '+').
;;
;; Here are some additional functions/macros that will help you configure Doom.
;;
;; - `load!' for loading external *.el files relative to this one
;; - `add-load-path!' for adding directories to the `load-path', relative to
;; this file. Emacs searches the `load-path' when you load packages with
;; `require' or `use-package'.
;; - `map!' for binding new keys
;;
;; To get information about any of these functions/macros, move the cursor over
;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
;; This will open documentation for it, including demos of how they are used.
;; Alternatively, use `C-h o' to look up a symbol (functions, variables, faces,
;; etc).
;;
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
;; they are implemented.
|