;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
git clone https://github.com/Kab1r/.doom.d
git clone --depth 1 https://github.com/hlissner/doom-emacs ~/.emacs.d
~/.emacs.d/bin/doom install
(setq user-full-name "Kabir Kwatra"
user-mail-address "kabir@kwatra.me")
Default font is VictorMono
, however this can be adjusted here as needed.
(setq doom-font (font-spec :family "VictorMono NF" ;; "Iosevka"
:size 16))
(setq doom-theme 'doom-dracula)
(after! doom (doom/set-frame-opacity 50))
This determines the style of line numbers in effect. If set to `nil’, line numbers are disabled. For relative line numbers, set this to `relative’.
(setq display-line-numbers-type 'relative)
Pixel-based smooth scrolling using good-scroll.el.
(package! good-scroll)
(good-scroll-mode 1)
Additional code snippets from yasnippet-snippets.
(package! yasnippet-snippets)
(use-package! copilot
:hook (prog-mode . copilot-mode)
:bind (("C-TAB" . 'copilot-accept-completion-by-word)
("C-<tab>" . 'copilot-accept-completion-by-word)
:map copilot-completion-map
("<tab>" . 'copilot-accept-completion)
("TAB" . 'copilot-accept-completion)))
(setq copilot-node-executable "~/.local/share/nvm/v17.9.1/bin/node")
(package! copilot
:recipe (:host github :repo "zerolfx/copilot.el" :files ("*.el" "dist")))
; (set-frame-parameter (selected-frame) 'alpha '(92 . 90))
; (add-to-list 'default-frame-alist '(alpha . (92 . 90)))
If you use `org’ and don’t want your org files in the default location below, change `org-directory’. It must be set before org loads!
(setq org-directory "~/org/")
(setq org-hide-emphasis-markers t)
(setq org-src-fontify-natively t)
(after! org
(add-to-list 'org-latex-default-packages-alist '("margin=1in" "geometry")))
(package! ob-async)
(require 'ob-async)
(setq ob-async-no-async-language-alist '("rustic" "rust"))
(make-directory "~/Documents/org/roam")
(setq org-roam-directory (file-truename "~/Documents/org/roam"))
(unpin! org-roam)
(package! org-roam-ui)
(use-package! websocket :after org-roam)
(use-package! org-roam-ui
: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))
(package! d2-mode)
(package! ob-d2
:recipe (:host github :repo "dmacvicar/ob-d2"))
(setq d2-tmp-dir "/tmp/d2")
(org-babel-do-load-languages
'org-babel-load-languages
'((d2 . t)))
(package! protobuf-mode)
(package! julia-vterm)
(package! ob-julia-vterm)
Package to support deno fmt
.
(package! deno-fmt)
Hook deno
into typescript major modes.
(add-hook 'typescript-mode-hook 'deno-fmt-mode)
(add-hook 'typescript-tsx-mode-hook 'deno-fmt-mode)
(add-hook 'js2-mode-hook 'deno-fmt-mode)
Major mode for service and timer files.
(package! systemd)
Major mode for Arch Linux package script.
(package! pkgbuild-mode)
(setq ein:output-area-inlined-images t)
Major mode for mermaid and minor mode for org-babel.
(package! mermaid-mode)
(package! ob-mermaid)
Set path to mermaid CLI for minor mode.
;; (setq ob-mermaid-cli-path (locate-file "mmdc" exec-path))
(package! wgsl-mode
:recipe (:host github :repo "acowley/wgsl-mode"))
(package! yuck-mode
:recipe (:host github :repo "mmcjimsey26/yuck-mode" :files ("yuck-mode.el")))
(package! elsa-lambda-calculus-mode
:recipe (:host github :repo "Kab1r/elsa-lambda-calculus-mode" :files ("elsa-lambda-calculus-mode.el")))
(package! tla-mode)
(package! package-lint)
(setq langtool-http-server-host "lt.kabr.dev"
langtool-http-server-port 443
langtool-http-server-stream-type 'tls)