feat(extensions): add vundo/kubel/org-caldav/envrc/combobulate and more
Tier 1: org-caldav (CalDAV sync), envrc (direnv), kubel (K8s) Tier 2: org-clock config, combobulate, vundo, breadcrumb, iedit Tier 3: org-anki, org-ql, calfw, org-roam-ui, dirvish Plus: citar/bibtex config, langtool grammar, org-ql search
This commit is contained in:
169
config.el
169
config.el
@@ -1724,3 +1724,172 @@ current frame."
|
|||||||
(after! projectile
|
(after! projectile
|
||||||
(dolist (dir '("node_modules" "__pycache__" ".terraform" "vendor"))
|
(dolist (dir '("node_modules" "__pycache__" ".terraform" "vendor"))
|
||||||
(add-to-list 'projectile-globally-ignored-directories dir)))
|
(add-to-list 'projectile-globally-ignored-directories dir)))
|
||||||
|
|
||||||
|
|
||||||
|
;;; ============================================================
|
||||||
|
;;; EXTENSIONS — Tier 1-3 + BibTeX
|
||||||
|
;;; ============================================================
|
||||||
|
|
||||||
|
;;; --- Tier 1: High impact ---
|
||||||
|
|
||||||
|
;; org-caldav — CalDAV sync for org
|
||||||
|
(use-package! org-caldav
|
||||||
|
:commands org-caldav-sync
|
||||||
|
:config
|
||||||
|
(setq org-caldav-url "https://cal.apps.sukany.cz/dav/calendars/martin@sukany.cz"
|
||||||
|
org-caldav-calendar-id "Martin"
|
||||||
|
org-caldav-inbox "~/org/caldav-inbox.org"
|
||||||
|
org-caldav-files '("~/org/personal.org" "~/org/work.org")
|
||||||
|
org-caldav-sync-direction 'twoway))
|
||||||
|
(map! :leader "o c" #'org-caldav-sync)
|
||||||
|
|
||||||
|
;; envrc — direnv integration
|
||||||
|
(use-package! envrc
|
||||||
|
:hook (after-init . envrc-global-mode))
|
||||||
|
|
||||||
|
;; embark — custom prompter (already installed by Doom vertico module)
|
||||||
|
(after! embark
|
||||||
|
(setq embark-prompter #'embark-keymap-prompter))
|
||||||
|
|
||||||
|
;; wgrep — already installed by Doom vertico module, just configure
|
||||||
|
(after! wgrep
|
||||||
|
(setq wgrep-auto-save-buffer t))
|
||||||
|
|
||||||
|
;; kubel — Kubernetes management
|
||||||
|
(use-package! kubel
|
||||||
|
:commands kubel
|
||||||
|
:config
|
||||||
|
(map! :map kubel-mode-map
|
||||||
|
:n "g" #'kubel-get-resource-details
|
||||||
|
:n "E" #'kubel-exec-pod
|
||||||
|
:n "l" #'kubel-get-pod-logs
|
||||||
|
:n "d" #'kubel-describe-resource
|
||||||
|
:n "D" #'kubel-delete-resource))
|
||||||
|
(map! :leader "o k" #'kubel)
|
||||||
|
|
||||||
|
;;; --- Tier 2: Quality of life ---
|
||||||
|
|
||||||
|
;; org-clock — time tracking (built into org, just configure)
|
||||||
|
(after! org
|
||||||
|
(setq org-clock-persist 'history
|
||||||
|
org-clock-in-resume t
|
||||||
|
org-clock-out-remove-zero-time-clocks t
|
||||||
|
org-clock-report-include-clocking-task t
|
||||||
|
org-duration-format 'h:mm)
|
||||||
|
(org-clock-persistence-insinuate)
|
||||||
|
(map! :map org-mode-map
|
||||||
|
:localleader
|
||||||
|
"C i" #'org-clock-in
|
||||||
|
"C o" #'org-clock-out
|
||||||
|
"C r" #'org-clock-report
|
||||||
|
"C d" #'org-clock-display))
|
||||||
|
|
||||||
|
;; combobulate — tree-sitter structural editing
|
||||||
|
(use-package! combobulate
|
||||||
|
:hook ((python-mode . combobulate-mode)
|
||||||
|
(python-ts-mode . combobulate-mode)
|
||||||
|
(go-mode . combobulate-mode)
|
||||||
|
(go-ts-mode . combobulate-mode)
|
||||||
|
(js-mode . combobulate-mode)
|
||||||
|
(typescript-mode . combobulate-mode))
|
||||||
|
:config
|
||||||
|
(map! :map combobulate-mode-map
|
||||||
|
:n "C-M-n" #'combobulate-navigate-next
|
||||||
|
:n "C-M-p" #'combobulate-navigate-previous
|
||||||
|
:n "C-M-u" #'combobulate-navigate-up
|
||||||
|
:n "C-M-d" #'combobulate-navigate-down))
|
||||||
|
|
||||||
|
;; iedit — edit multiple occurrences
|
||||||
|
(use-package! iedit
|
||||||
|
:commands iedit-mode)
|
||||||
|
(map! :leader "s e" #'iedit-mode)
|
||||||
|
|
||||||
|
;; vundo — visual undo tree
|
||||||
|
(use-package! vundo
|
||||||
|
:commands vundo
|
||||||
|
:config (setq vundo-glyph-alist vundo-unicode-symbols))
|
||||||
|
(map! :leader "u" #'vundo)
|
||||||
|
|
||||||
|
;; breadcrumb — context in header-line
|
||||||
|
(use-package! breadcrumb
|
||||||
|
:hook ((prog-mode . breadcrumb-local-mode)
|
||||||
|
(cperl-mode . breadcrumb-local-mode)))
|
||||||
|
|
||||||
|
;;; --- Tier 3: Supplementary ---
|
||||||
|
|
||||||
|
;; org-anki — Anki flashcards from org
|
||||||
|
(use-package! org-anki
|
||||||
|
:commands (org-anki-sync-entry org-anki-sync-all org-anki-delete-entry)
|
||||||
|
:config
|
||||||
|
(setq org-anki-default-deck "Emacs")
|
||||||
|
(map! :map org-mode-map
|
||||||
|
:localleader
|
||||||
|
"A s" #'org-anki-sync-entry
|
||||||
|
"A S" #'org-anki-sync-all
|
||||||
|
"A d" #'org-anki-delete-entry))
|
||||||
|
|
||||||
|
;; org-ql — query language for org
|
||||||
|
(use-package! org-ql
|
||||||
|
:commands (org-ql-search org-ql-view org-ql-find)
|
||||||
|
:config
|
||||||
|
(map! :leader
|
||||||
|
"s q" #'org-ql-search
|
||||||
|
"s Q" #'org-ql-view))
|
||||||
|
|
||||||
|
;; calfw — visual calendar
|
||||||
|
(use-package! calfw
|
||||||
|
:commands cfw:open-org-calendar)
|
||||||
|
(use-package! calfw-org
|
||||||
|
:after calfw
|
||||||
|
:commands cfw:open-org-calendar)
|
||||||
|
(map! :leader "o C" #'cfw:open-org-calendar)
|
||||||
|
|
||||||
|
;; org-roam-ui — visual graph for org-roam
|
||||||
|
(use-package! org-roam-ui
|
||||||
|
:after org-roam
|
||||||
|
:commands org-roam-ui-mode
|
||||||
|
:config
|
||||||
|
(setq org-roam-ui-sync-theme t
|
||||||
|
org-roam-ui-follow t
|
||||||
|
org-roam-ui-update-on-save t))
|
||||||
|
(map! :leader "n r u" #'org-roam-ui-mode)
|
||||||
|
|
||||||
|
;; dirvish — modern dired replacement
|
||||||
|
(use-package! dirvish
|
||||||
|
:init (dirvish-override-dired-mode)
|
||||||
|
:config
|
||||||
|
(setq dirvish-mode-line-format '(:left (sort symlink) :right (omit yank index))
|
||||||
|
dirvish-attributes '(vc-state subtree-state nerd-icons collapse git-msg file-time file-size)
|
||||||
|
dirvish-side-width 35)
|
||||||
|
(map! :map dirvish-mode-map
|
||||||
|
:n "q" #'dirvish-quit
|
||||||
|
:n "h" #'dired-up-directory
|
||||||
|
:n "l" #'dired-find-file
|
||||||
|
:n "s" #'dirvish-quicksort
|
||||||
|
:n "S" #'dirvish-setup-menu
|
||||||
|
:n "TAB" #'dirvish-subtree-toggle
|
||||||
|
:n "M-f" #'dirvish-history-go-forward
|
||||||
|
:n "M-b" #'dirvish-history-go-backward))
|
||||||
|
|
||||||
|
;;; --- BibTeX / Citar (installed by Doom biblio module) ---
|
||||||
|
|
||||||
|
(after! citar
|
||||||
|
(setq citar-bibliography '("~/org/references.bib")
|
||||||
|
citar-notes-paths '("~/org/notes/")
|
||||||
|
citar-library-paths '("~/org/papers/"))
|
||||||
|
(map! :leader
|
||||||
|
"b b" #'citar-open
|
||||||
|
"b i" #'citar-insert-citation
|
||||||
|
"b n" #'citar-open-notes
|
||||||
|
"b r" #'citar-refresh))
|
||||||
|
|
||||||
|
;;; --- Grammar check (LanguageTool, installed by Doom grammar module) ---
|
||||||
|
|
||||||
|
(after! langtool
|
||||||
|
(setq langtool-language-tool-jar
|
||||||
|
(expand-file-name "~/languagetool/languagetool-commandline.jar")
|
||||||
|
langtool-default-language "cs"
|
||||||
|
langtool-mother-tongue "cs"))
|
||||||
|
(map! :leader
|
||||||
|
"t g" #'langtool-check
|
||||||
|
"t G" #'langtool-check-done)
|
||||||
|
|||||||
23
packages.el
23
packages.el
@@ -94,3 +94,26 @@
|
|||||||
;; Git
|
;; Git
|
||||||
(package! git-link)
|
(package! git-link)
|
||||||
|
|
||||||
|
;;; ============================================================
|
||||||
|
;;; EXTENSIONS — Tier 1-3
|
||||||
|
;;; ============================================================
|
||||||
|
|
||||||
|
;; Tier 1 — High impact
|
||||||
|
(package! kubel)
|
||||||
|
(package! org-caldav)
|
||||||
|
(package! envrc)
|
||||||
|
|
||||||
|
;; Tier 2 — Quality of life
|
||||||
|
(package! vundo)
|
||||||
|
(package! iedit)
|
||||||
|
(package! combobulate :recipe (:host github :repo "mickeynp/combobulate"))
|
||||||
|
(package! breadcrumb :recipe (:host github :repo "joaotavora/breadcrumb"))
|
||||||
|
|
||||||
|
;; Tier 3 — Supplementary
|
||||||
|
(package! org-anki)
|
||||||
|
(package! org-ql)
|
||||||
|
(package! calfw)
|
||||||
|
(package! calfw-org)
|
||||||
|
(package! org-roam-ui)
|
||||||
|
(package! dirvish)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user