aboutsummaryrefslogtreecommitdiff
path: root/shoshin-config.el
blob: ec0c504e076ba87ae573cec109d51960cf598bff (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
;;; shoshimacs.el --- Beginner's Mind Config  -*- lexical-binding:t -*-

;;; Package Management
(when (< emacs-major-version 28)
  (package-initialize)
  (add-to-list 'package-archives '("nongnu" . "https://elpa.nongnu.org/nongnu/"))
  (package-refresh-contents))

(when (and (functionp #'native-comp-available-p) (native-comp-available-p))
  (setq native-comp-always-compile t
	package-native-compile t))

;;; Major Keybinding
(package-install 'xah-fly-keys)
(require 'xah-fly-keys)
(xah-fly-keys-set-layout "qwerty")
(setq xah-fly-use-control-key nil
      xah-fly-use-meta-key nil)
(xah-fly-keys t)

;;; Completion
(setq completion-styles '(flex basic partial-completion emacs22)
      completion-cycle-threshold 3
      tab-always-indent 'complete)

(package-install 'consult)

(global-set-key (kbd "C-x b") #'consult-buffer)
(define-key xah-fly-leader-key-map (kbd "f") #'consult-buffer)
(define-key xah-fly-command-map (kbd "n") #'consult-line)

(with-eval-after-load 'consult
  (consult-customize consult-theme :preview-key '(:debounce 0.5 any)))

(package-install 'embark)

(package-install 'marginalia)
(marginalia-mode)

(package-install 'vertico)
(setq minibuffer-prompt-properties
      '(read-only t cursor-intangible t face minibuffer-prompt))
(add-hook 'minibuffer-setup-hook #'cursor-intangible-mode)
(setq read-extended-command-predicate
      #'command-completion-default-include-p)
(setq enable-recursive-minibuffers t)
(vertico-mode)

(require 'vertico-directory)
(define-key vertico-map (kbd "RET") #'vertico-directory-enter)
(define-key vertico-map (kbd "DEL") #'vertico-directory-delete-char)
(define-key vertico-map (kbd "M-DEL") #'vertico-directory-delete-word)
(define-key vertico-map (kbd "M-j") #'vertico-quick-insert)

(package-install 'corfu)
(setq corfu-auto t
      corfu-cycle t
      corfu-quit-no-match t)
(global-corfu-mode t)

(package-install 'corfu-terminal)
(unless (display-graphic-p)
    (corfu-terminal-mode +1))

(package-install 'which-key)
(which-key-mode)

;;; Editing
(electric-pair-mode)

(package-install 'markdown-mode)

(package-install 'htmlize)

(recentf-mode)

;;; Programming
(package-install 'sly)

(package-install 'json-mode)

(package-install 'devdocs)

;;; Projects
(package-install 'magit)

;;; External Services
(package-install 'plz)

(package-install 'srht)
(setq srht-username "shoshin")

;;; User Interface
(when (display-graphic-p)
  (scroll-bar-mode -1)
  (fringe-mode '(8 . 0)))

(tab-bar-mode t)
(display-battery-mode t)

(package-install 'darkroom)

(set-frame-font "Victor Mono")

(global-hl-line-mode t)

(setq my-chosen-themes
      '(cyberpunk-theme dracula-theme))
(mapc #'package-install my-chosen-themes)

(package-install 'windresize)
(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(package-selected-packages
   '(plz corfu xah-fly-keys windresize which-key web-server vertico srht sly markdown-mode marginalia magit json-mode htmlize embark dracula-theme devdocs darkroom cyberpunk-theme corfu-terminal corfu-popup consult)))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )