nixos-configs/modules/editor/emacs/doom.d/config.el

95 lines
3.9 KiB
EmacsLisp
Raw Normal View History

2023-03-17 13:02:05 +01:00
(setq
projectile-project-search-path '("~/Projects/")
doom-theme 'doom-gruvbox
2024-06-25 02:09:47 +02:00
doom-font (font-spec :family "MesloLGS Nerd Font Mono" :size 10.0)
doom-big-font (font-spec :family "MesloLGS Nerd Font Mono" :size 20.0)
2023-04-21 06:23:57 +02:00
treemacs-git-mode 'extended
org-directory "~/Nextcloud/Org/"
2023-09-29 02:42:46 +02:00
org-roam-directory "~/Nextcloud/OrgRoam/"
nerd-icons-font-names '("SymbolsNerdFontMono-Regular.ttf"))
2023-03-17 13:02:05 +01:00
2023-09-29 02:42:46 +02:00
; Workaround for "Error running timer: (void-function consult--ripgrep-builder)"
2023-03-17 13:02:05 +01:00
(use-package! consult
:config
(defun consult--ripgrep-builder (&rest args) (apply (consult--ripgrep-make-builder) args)))
2023-04-03 10:13:40 +02:00
(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
2023-09-29 02:42:46 +02:00
))
2023-04-03 10:13:40 +02:00
(setq lsp-tailwindcss-experimental-class-regex [
2023-09-29 02:42:46 +02:00
[ "cls\\(([^)]*)\\)" "\"([^']*)\"" ]
[ "cls\\s*:=\\s*\\(?([^,^\\n^\\)]*)" "\"([^']*)\"" ]]))
(with-eval-after-load 'lsp-mode
(add-to-list 'lsp-file-watch-ignored-directories "[/\\\\]node_modules\\'")
(add-to-list 'lsp-file-watch-ignored-directories "[/\\\\]\\.cache\\'")
(add-to-list 'lsp-file-watch-ignored-directories "[/\\\\]\\.direnv\\'")
(add-to-list 'lsp-file-watch-ignored-directories "[/\\\\]\\.devenv\\'")
(add-to-list 'lsp-file-watch-ignored-directories "[/\\\\]\\.metals\\'")
(add-to-list 'lsp-file-watch-ignored-directories "[/\\\\]\\.bloop\\'")
(add-to-list 'lsp-file-watch-ignored-directories "[/\\\\]out\\'"))
2024-07-04 03:01:49 +02:00
(after! nix-mode
(set-formatter! 'nixpkgs-fmt '("nixpkgs-fmt" ) :modes '(nix-mode)))
2023-04-22 02:48:21 +02:00
(use-package! websocket
2023-09-29 02:42:46 +02:00
:after org-roam)
2023-04-22 02:48:21 +02:00
(use-package! org-roam-ui
2023-09-29 02:42:46 +02:00
:after org-roam ;; or :after org
;; normally we'd recommend hooking orui after org-roam, but since org-roam does not have
;; a hookable mode anymore, you're advised to pick something yourself
;; if you don't care about startup time, use
;; :hook (after-init . org-roam-ui-mode)
:config
(setq org-roam-ui-sync-theme t
org-roam-ui-follow t
org-roam-ui-update-on-save t
org-roam-ui-open-on-start t))
2023-04-26 09:41:01 +02:00
2023-09-29 02:42:46 +02:00
; Taken from https://github.com/yqrashawn/yqdotfiles/blob/master/.doom.d/read.el
2023-05-18 22:43:08 +02:00
(setq! elfeed-use-curl t)
(after! elfeed
(elfeed-set-timeout 36000)
(run-with-idle-timer 300 t #'elfeed-update)
(setq!
2023-09-29 02:42:46 +02:00
elfeed-search-filter "+unread"
rmh-elfeed-org-files `(,(concat org-directory "elfeed.org"))
elfeed-protocol-feeds '(("owncloud+https://paultrial@cloud.banditlair.com"
:password (shell-command-to-string "echo -n `secret-tool lookup elfeed nextcloud`"))))
(add-hook! 'elfeed-search-mode-hook 'elfeed-update)
2023-05-18 22:43:08 +02:00
(setq elfeed-protocol-enabled-protocols '(owncloud))
(elfeed-protocol-enable))
2023-04-26 12:12:31 +02:00
(use-package! elfeed-tube
:after elfeed
:demand t
:config
;; (setq elfeed-tube-auto-save-p nil) ; default value
;; (setq elfeed-tube-auto-fetch-p t) ; default value
(elfeed-tube-setup)
:bind (:map elfeed-show-mode-map
("F" . elfeed-tube-fetch)
([remap save-buffer] . elfeed-tube-save)
:map elfeed-search-mode-map
("F" . elfeed-tube-fetch)
([remap save-buffer] . elfeed-tube-save)))
(use-package! elfeed-tube-mpv
:bind (:map elfeed-show-mode-map
2023-05-18 22:43:08 +02:00
;; ("gf" . elfeed-tube-mpv-follow-mode)
;; ("gw" . elfeed-tube-mpv-where)))
))
2023-10-24 01:33:22 +02:00
;; Force using LSP formatter until this is resolved: https://github.com/doomemacs/doomemacs/issues/7490
(setq-hook! 'scala-mode-hook
apheleia-inhibit t
+format-with nil)
(add-hook 'scala-mode-hook
(lambda()
(add-hook 'before-save-hook #'lsp-format-buffer t t)
(add-hook 'before-save-hook #'lsp-organize-imports t t)))