blob: bbe0502bf3e7b294fa805a396198fc8d48d9b128 (
plain) (
blame)
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
|
;; bootstrap straight
(defvar bootstrap-version)
(let ((bootstrap-file
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
(bootstrap-version 5))
(unless (file-exists-p bootstrap-file)
(with-current-buffer
(url-retrieve-synchronously
"https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el"
'silent 'inhibit-cookies)
(goto-char (point-max))
(eval-print-last-sexp)))
(load bootstrap-file nil 'nomessage))
(use-package evil
:ensure t
:init
(setq evil-want-integration t) ;; This is optional since it's already set to t by default.
(setq evil-want-keybinding nil)
:config
(evil-mode 1))
(use-package evil-collection
:after evil
:ensure t
:config
(evil-collection-init))
(use-package doom-themes
:ensure t )
(setq doom-themes-enable-bold t
doom-themes-enable-italic t)
(load-theme 'doom-one t)
(defun my/setup-font-faces ()
(when (display-graphic-p)
(set-face-attribute 'default nil
:font "Inconsolata LGC Nerd Font 11"
:weight 'medium)
)
)
(defun my/on-init ()
(my/setup-font-faces)
(dired-sidebar-toggle-sidebar)
(setq evil-want-integration t) ;; This is optional since it's already set to t by default.
(setq evil-want-keybinding nil)
)
(add-hook 'after-init-hook 'my/on-init)
(add-hook 'server-after-make-frame-hook 'my/on-init)
(setq default-line-spacing 0.10)
(setq make-backup-files nil)
(setq create-lockfiles nil)
;; Disable toolbar, menubar and scrollbar
(menu-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)
(use-package doom-modeline
:ensure t
:init (doom-modeline-mode 1))
;; One line scrolling
(setq scroll-step 1)
(setq scroll-conservatively 10000)
(global-display-line-numbers-mode)
(global-visual-line-mode t)
(use-package dashboard
:ensure t
:init
(setq dashboard-banner-logo-title "Welcome to Emacs Dashboard")
(setq dashboard-center-content nil)
(setq dashboard-items '((recents . 5)
(bookmarks . 5)
(projects . 5)
(agenda . 5)
(registers . 5)))
(setq dashboard-set-navigator t)
:config
(dashboard-setup-startup-hook))
(setq dashboard-footer-messages '("I showed you my source code, plz respond."))
;;(setq initial-buffer-choice (lambda () (get-buffer-create "*dashboard*")))
;;TODO, make it work with directories
(setq initial-buffer-choice
(lambda ()
(if (buffer-file-name)
(current-buffer) ;; leave as-is
(get-buffer-create "*dashboard*"))))
(use-package direnv
:ensure t
:config
(direnv-mode))
(use-package nix-mode
:ensure t
:mode "\\.nix\\'")
(use-package haskell-mode
:ensure t )
(use-package typescript-mode
:ensure t )
(use-package jq-mode
:ensure t )
(use-package yasnippet
:ensure t)
(yas-global-mode 1)
(use-package lsp-bridge
:straight '(lsp-bridge :type git :host github :repo "manateelazycat/lsp-bridge"
:files (:defaults "*.el" "*.py" "acm" "core" "langserver" "multiserver" "resources")
:build (:not compile))
:ensure t
:hook (prog-mode . lsp-deferred)
:init
(global-lsp-bridge-mode)
:config
(setq lsp-bridge-enable-log t)
(setq lsp-clients-clangd-args '("-j=4" "-background-index" "--log=error" "--clang-tidy" "--enable-config"))
(setq lsp-auto-guess-root t)
(setq acm-enable-copilot t)
(setq lsp-bridge-enable-completion-in-string t)
(setq lsp-bridge-enable-hover-diagnostic t))
(use-package lsp-haskell
:ensure t )
(use-package company
:ensure t)
(use-package rustic
:ensure t)
(use-package dired-sidebar
:ensure t)
(eval-after-load 'dired
'(evil-define-key 'normal dired-mode-map [mouse-2] 'dired-mouse-find-file)
)
|