summary refs log tree commit diff stats
path: root/lisp/acdw-defaults.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/acdw-defaults.el')
-rw-r--r--lisp/acdw-defaults.el295
1 files changed, 0 insertions, 295 deletions
diff --git a/lisp/acdw-defaults.el b/lisp/acdw-defaults.el deleted file mode 100644 index e4c9e14..0000000 --- a/lisp/acdw-defaults.el +++ /dev/null
@@ -1,295 +0,0 @@
1;;; acdw-defaults.el --- measured defaults for Emacs -*- lexical-binding: t -*-
2;; by C. Duckworth <acdw@acdw.net>
3
4;;; Commentary:
5
6;; I find myself copy-pasting a lot of "boilerplate" type code when
7;; bankrupting my Emacs config and starting afresh. Instead of doing
8;; that, I'm putting it here, where it'll be easier to include in my
9;; config.
10
11;; Of course, some might say I could just ... stop bankrupting my
12;; Emacs. But like, why would I want to?
13
14;;; Code:
15
16(require 'seq)
17
18(defvar default-ring-max 256
19 "Default maximum for ring variables.")
20
21(unless (boundp 'use-short-answers)
22 (fset 'yes-or-no-p 'y-or-n-p))
23
24(setc async-shell-command-buffer 'new-buffer
25 async-shell-command-display-buffer nil
26 auto-hscroll-mode t
27 auto-window-vscroll nil
28 cursor-in-non-selected-windows 'hollow
29 cursor-type 'bar
30 echo-keystrokes 0.01
31 fast-but-imprecise-scrolling t
32 fill-column 80
33 global-mark-ring-max default-ring-max
34 hscroll-margin 1
35 hscroll-step 1
36 inhibit-startup-screen t
37 initial-buffer-choice t
38 kill-do-not-save-duplicates t
39 kill-read-only-ok t
40 kill-ring-max default-ring-max
41 kmacro-ring-max default-ring-max
42 mark-ring-max default-ring-max
43 read-answer-short t
44 read-process-output-max (* 10 1024 1024)
45 ring-bell-function #'ignore
46 save-interprogram-paste-before-kill t
47 scroll-conservatively 25
48 scroll-margin 0
49 scroll-preserve-screen-position 1
50 scroll-step 1
51 sentence-end-double-space t
52 set-mark-command-repeat-pop t
53 tab-width 8
54 undo-limit (* 10 1024 1024)
55 use-dialog-box nil
56 use-file-dialog nil
57 use-short-answers t
58 window-resize-pixelwise t
59 yank-pop-change-selection t)
60
61;;; Encodings
62
63;; Allegedly, this is the only one you need...
64(set-language-environment "UTF-8")
65;; But I still set all of these, for fun.
66(setq-default buffer-file-coding-system 'utf-8-unix
67 coding-system-for-read 'utf-8-unix
68 coding-system-for-write 'utf-8-unix
69 default-process-coding-system '(utf-8-unix . utf-8-unix)
70 locale-coding-system 'utf-8-unix
71 x-select-request-type '(UTF8_STRING
72 COMPOUND_TEXT
73 TEXT
74 STRING))
75
76(set-charset-priority 'unicode)
77(prefer-coding-system 'utf-8-unix)
78(set-default-coding-systems 'utf-8-unix)
79(set-terminal-coding-system 'utf-8-unix)
80(set-keyboard-coding-system 'utf-8-unix)
81
82(pcase system-type
83 ((or 'ms-dos 'windows-nt)
84 (set-clipboard-coding-system 'utf-16-le)
85 (set-selection-coding-system 'utf-16-le))
86 (_
87 (set-selection-coding-system 'utf-8)
88 (set-clipboard-coding-system 'utf-8)))
89
90;;; Modes
91
92(dolist (enable-mode '(;; Enable these modes on startup
93 delete-selection-mode
94 global-so-long-mode
95 ))
96 (funcall enable-mode +1))
97
98(dolist (disable-mode '(;; Disable these modes on startup
99 horizontal-scroll-bar-mode
100 menu-bar-mode
101 scroll-bar-mode
102 tool-bar-mode
103 tooltip-mode
104 ))
105 (funcall disable-mode -1))
106
107(deftheme use-package)
108(enable-theme 'use-package)
109
110;;; Internal packages
111
112(when (require 'abbrev nil t)
113 (custom-theme-set-variables 'use-package
114 '(abbrev-file-name (sync/ "abbrev.el"))
115 '(save-abbrevs 'silently)))
116
117(when (require 'autorevert nil t)
118 (custom-theme-set-variables 'use-package
119 '(auto-revert-verbose nil)
120 '(global-auto-revert-non-file-buffers t))
121 (global-auto-revert-mode +1))
122
123(when (require 'comp nil t)
124 (custom-theme-set-variables 'use-package
125 '(native-comp-async-report-warnings-errors 'silent)
126 '(native-comp-deferred-compilation t)))
127
128(when (require 'custom nil t)
129 (custom-theme-set-variables 'use-package
130 '(custom-file (etc/ "custom.el"))))
131
132(when (require 'ediff nil t)
133 (custom-theme-set-variables 'use-package
134 '(ediff-window-setup-function #'ediff-setup-windows-plain)))
135
136(when (require 'eldoc nil t)
137 (custom-theme-set-variables 'use-package
138 '(eldoc-echo-area-use-multiline-p nil)
139 '(eldoc-idle-delay 0.1)))
140
141(when (require 'executable nil t)
142 (custom-theme-set-variables 'use-package
143 '(executable-prefix-env t)))
144
145(when (require 'files nil t)
146 (custom-theme-set-variables 'use-package
147 '(auto-save-default nil)
148 '(auto-save-interval 1)
149 '(auto-save-no-message t)
150 '(auto-save-timeout 1)
151 '(auto-save-visited-interval 1)
152 '(backup-by-copying t)
153 '(create-lockfiles nil)
154 '(delete-old-versions t)
155 '(find-file-visit-truename t)
156 '(kept-new-versions 8)
157 '(kept-old-versions 8)
158 '(mode-require-final-newline t)
159 '(version-control t)
160 '(view-read-only t))
161 (dolist (h/f
162 '((after-save-hook . executable-make-buffer-file-executable-if-script-p)
163 (find-file-not-found-functions . create-missing-directories)
164 (find-file-hook . +vc-off@remote)))
165 (add-hook (car h/f) (cdr h/f)))
166 (auto-save-visited-mode))
167
168(when (require 'frame nil t)
169 (custom-theme-set-variables 'use-package
170 '(blink-cursor-blinks 1)
171 '(blink-cursor-interval 0.25)
172 '(blink-cursor-delay 0.25))
173 (blink-cursor-mode))
174
175(when (require 'goto-addr nil t)
176 (if (fboundp 'global-goto-address-mode)
177 (global-goto-address-mode +1)
178 (add-hook 'after-change-major-mode-hook 'goto-address-mode)))
179
180(when (require 'ibuffer nil t)
181 (global-set-key (kbd "C-x C-b") #'ibuffer)
182 (add-hook 'ibuffer-mode-hook #'hl-line-mode))
183
184(when (require 'image nil t)
185 (custom-theme-set-variables 'use-package
186 '(image-use-external-converter
187 (seq-some #'executable-find '("convert" "gm" "ffmpeg")))))
188
189(when (require 'imenu nil t)
190 (custom-theme-set-variables 'use-package
191 '(imenu-auto-rescan t)))
192
193(when (require 'isearch nil t)
194 (custom-theme-set-variables 'use-package
195 '(regexp-search-ring-max default-ring-max)
196 '(search-ring-max default-ring-max)))
197
198(when (require 'minibuffer nil t)
199 (custom-theme-set-variables 'use-package
200 '(completion-category-defaults nil)
201 '(completion-category-overrides '((file (styles partial-completion))))
202 '(completion-ignore-case t)
203 '(completion-styles '(substring partial-completion))
204 '(enable-recursive-minibuffers t)
205 '(file-name-shadow-properties '(invisible t intangible t))
206 '(minibuffer-eldef-shorten-default t)
207 '(minibuffer-prompt-properties '( read-only t
208 cursor-intangible t
209 face minibuffer-prompt))
210 '(read-buffer-completion-ignore-case t))
211 (file-name-shadow-mode)
212 (minibuffer-electric-default-mode))
213
214(when (require 'mouse nil t)
215 (custom-theme-set-variables 'use-package
216 '(mouse-drag-copy-region t)
217 '(mouse-wheel-progressive-speed nil)
218 '(mouse-yank-at-point t)))
219
220(when (require 'paren nil t)
221 (custom-theme-set-variables 'use-package
222 '(show-paren-delay 0.01)
223 '(show-paren-style 'parenthesis)
224 '(show-paren-when-point-in-periphery t)
225 '(show-paren-when-point-inside-paren t))
226 (show-paren-mode)
227 (electric-pair-mode))
228
229(when (require 'recentf nil t)
230 (custom-theme-set-variables 'use-package
231 '(recentf-save-file (var/ "recentf.el"))
232 '(recentf-max-menu-items default-ring-max)
233 '(recentf-max-saved-items nil)
234 '(recentf-auto-cleanup 'mode))
235 (add-to-list 'recentf-exclude etc/)
236 (add-to-list 'recentf-exclude var/)
237 (add-to-list 'recentf-exclude cache/)
238 (add-to-list 'recentf-exclude "-autoloads.el\\'")
239 (recentf-mode +1))
240
241(when (require 'savehist nil t)
242 (custom-theme-set-variables 'use-package
243 '(history-length 1024)
244 '(history-delete-duplicates t)
245 '(savehist-file (var/ "savehist.el"))
246 '(savehist-save-minibuffer-history t)
247 '(savehist-autosave-interval 30)
248 ;; Other variables --- don't truncate any of these.
249 ;; `add-to-history' uses the values of these variables unless
250 ;; they're nil, in which case it falls back to `history-length'.
251 '(kill-ring-max default-ring-max)
252 '(mark-ring-max default-ring-max)
253 '(global-mark-ring-max default-ring-max)
254 '(regexp-search-ring-max default-ring-max)
255 '(search-ring-max default-ring-max)
256 '(kmacro-ring-max default-ring-max)
257 '(eww-history-limit default-ring-max))
258 (dolist (var '(global-mark-ring
259 mark-ring
260 kill-ring
261 kmacro-ring
262 regexp-search-ring
263 search-ring))
264 (add-to-list 'savehist-additional-variables var))
265 (savehist-mode +1))
266
267(when (require 'saveplace nil t)
268 (custom-theme-set-variables 'use-package
269 '(save-place-file (var/ "places.el"))
270 '(save-place-forget-unreadable-files (eq system-type 'gnu/linux)))
271 (save-place-mode 1))
272
273(when (require 'uniquify nil t)
274 (custom-theme-set-variables 'use-package
275 '(uniquify-after-kill-buffer-p t)
276 '(uniquify-buffer-name-style 'forward)
277 '(uniquify-ignore-buffers-re "^\\*")
278 '(uniquify-separator path-separator)))
279
280(when (require 'vc nil t)
281 (custom-theme-set-variables 'use-package
282 '(vc-follow-symlinks t)
283 '(vc-make-backup-files t)))
284
285(when (require 'window nil t)
286 (custom-theme-set-variables 'use-package
287 '(recenter-positions '(top 2 middle bottom))))
288
289;;; New features
290
291(when (fboundp 'pixel-scroll-precision-mode)
292 (pixel-scroll-precision-mode))
293
294(provide 'acdw-defaults)
295;;; acdw-defaults.el ends here