Files
doom/config.el
2025-11-17 16:07:41 +11:00

63 lines
2.4 KiB
EmacsLisp

(setq doom-font (font-spec :family "Maple Mono" :size 20))
(add-to-list 'default-frame-alist '(height . 53))
(add-to-list 'default-frame-alist '(width . 120))
(setq catppuccin-flavor 'mocha)
(setq doom-theme 'catppuccin)
(setq display-line-numbers-type 'relative)
(setq org-directory "~/org/")
(use-package! yasnippet
:config
(defun my-yas-try-expanding-auto-snippets ()
(when yas-minor-mode
(let ((yas-buffer-local-condition ''(require-snippet-condition . auto)))
(yas-expand))))
(add-hook 'post-command-hook #'my-yas-try-expanding-auto-snippets)
)
(use-package! gptel
:config
(setq! gptel-api-key "e994f45f9b46cc8608bd2e9cd508417255514e96913b1764aab612512aa66449")
(setq gptel-model 'gpt-5)
(setq gptel-backend (gptel-make-gh-copilot "Copilot"))
(map! "M-s RET" #'gptel-send)
(map! "M-s m" #'gptel-menu)
)
(use-package! typst-ts-mode
:init
(add-hook 'typst-ts-mode-hook #'eglot-ensure)
:custom
;; (typst-ts-watch-options "--open")
(typst-ts-mode-grammar-location (expand-file-name "tree-sitter/libtree-sitter-typst.so" user-emacs-directory))
(typst-ts-mode-enable-raw-blocks-highlight t)
:config
(keymap-set typst-ts-mode-map "C-c C-c" #'typst-ts-tmenu))
(with-eval-after-load 'eglot
(with-eval-after-load 'typst-ts-mode
(add-to-list 'eglot-server-programs
`((typst-ts-mode) .
,(eglot-alternatives `(,"tinymist"
"typst-lsp"))))))
(use-package! websocket)
(use-package! typst-preview
;; :load-path "path/to/typst-preview.el" ;; if installed manually
:init
(setq typst-preview-autostart t) ; start preview automatically when typst-preview-mode is activated
;; (setq typst-preview-open-browser-automatically t) ; open browser automatically when typst-preview-start is run
:custom
(typst-preview-browser "default") ; this is the default option; other options are `eaf-browser' or `xwidget'.
(typst-preview-invert-colors "auto") ; invert colors depending on system theme
(typst-preview-executable "tinymist") ; path to tinymist binary (relative or absolute)
(typst-preview-partial-rendering t) ; enable partial rendering
:config
(define-key typst-preview-mode-map (kbd "C-c C-j") 'typst-preview-send-position)
(define-key typst-ts-mode-map (kbd "C-c C-l") #'typst-preview-mode))
(use-package! org
:hook (org-mode . org-latex-preview-mode))