nixos-configs/modules/editor/emacs/doom.d/config.el
2023-04-03 10:13:40 +02:00

41 lines
1.8 KiB
EmacsLisp

(setq
projectile-project-search-path '("~/Projects/")
doom-theme 'doom-gruvbox
doom-font (font-spec :family "MesloLGS Nerd Font Mono" :size 16)
doom-big-font (font-spec :family "MesloLGS Nerd Font Mono" :size 24)
treemacs-git-mode 'extended)
;; Enable nice rendering of diagnostics like compile errors.
(use-package! flycheck
:init (global-flycheck-mode))
(use-package! lsp-mode
;; Optional - enable lsp-mode automatically in scala files
;; You could also swap out lsp for lsp-deffered in order to defer loading
:hook (scala-mode . lsp)
(lsp-mode . lsp-lens-mode)
:config
;; Uncomment following section if you would like to tune lsp-mode performance according to
;; https://emacs-lsp.github.io/lsp-mode/page/performance/
;; (setq gc-cons-threshold 100000000) ;; 100mb
;; (setq read-process-output-max (* 1024 1024)) ;; 1mb
;; (setq lsp-idle-delay 0.500)
;; (setq lsp-log-io nil)
;; (setq lsp-completion-provider :capf)
(setq lsp-prefer-flymake nil)
;; Makes LSP shutdown the metals server when all buffers in the project are closed.
;; https://emacs-lsp.github.io/lsp-mode/page/settings/mode/#lsp-keep-workspace-alive
(setq lsp-keep-workspace-alive nil))
; Workaround for "Error running timer: (void-function consult--ripgrep-builder)"
(use-package! consult
:config
(defun consult--ripgrep-builder (&rest args) (apply (consult--ripgrep-make-builder) args)))
(use-package! lsp-tailwindcss
:init
(setq lsp-tailwindcss-add-on-mode t)
(setq lsp-tailwindcss-major-modes '(rjsx-mode web-mode html-mode css-mode typescript-mode typescript-tsx-mode tsx-ts-mode scala-mode))
(setq lsp-tailwindcss-experimental-class-regex [
[ "cls\\(([^)]*)\\)" "\"([^']*)\"" ]
[ "cls\\s*:=\\s*\\(?([^,^\\n^\\)]*)" "\"([^']*)\"" ]]))