From d4f56d0b02ccc77e46a75d58aa10537992439239 Mon Sep 17 00:00:00 2001 From: Alexander Kobjolke Date: Thu, 24 Apr 2025 10:40:43 +0200 Subject: [PATCH] feat(emacs): Update config --- home/alex/programs/emacs/doom/config.el | 82 +++++++++++++++---------- 1 file changed, 50 insertions(+), 32 deletions(-) diff --git a/home/alex/programs/emacs/doom/config.el b/home/alex/programs/emacs/doom/config.el index 46aed85..c5ee5c8 100644 --- a/home/alex/programs/emacs/doom/config.el +++ b/home/alex/programs/emacs/doom/config.el @@ -8,15 +8,12 @@ ;; Some functionality uses this to identify you, e.g. GPG configuration, email ;; clients, file templates and snippets. (setq! user-full-name "Alexander Kobjolke" - user-mail-address "me@failco.de") + user-mail-address "me@failco.de" + auth-sources '("~/.local/share/emacs/authinfo.gpg" "~/.authinfo.gpg" "~/.netrc") + auth-source-cache-expiry nil) (when ak/at-work? - (setq! user-mail-address "alexander.kobjolke@atlas-elektronik.com") - (add-to-list 'lsp-disabled-clients 'cmakels) - - ;; exclude cmake from formatting on save - (add-to-list '+format-on-save-disabled-modes - 'cmake-mode)) + (setq! user-mail-address "alexander.kobjolke@atlas-elektronik.com")) ;; Doom exposes five (optional) variables for controlling fonts in Doom. Here @@ -42,14 +39,9 @@ (require 're-builder) (setq! reb-re-syntax 'string) -;; 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/" - org-log-into-drawer t) - ;; do not create a new workspace for each emacsclient -(after! persp-mode -   (setq! persp-emacsclient-init-frame-behaviour-override "main")) +;; (after! persp-mode +;;   (setq! persp-emacsclient-init-frame-behaviour-override "main")) (after! lsp (add-to-list 'lsp-file-watch-ignored-directories "[/\\\\]\\.devenv\\'") @@ -74,8 +66,8 @@ (setq! undo-limit 80000000 ; Raise undo-limit to 80Mb auto-save-default t ; Nobody likes to loose work, I certainly don't - switch-to-buffer-in-dedicated-window 'pop - switch-to-buffer-obey-display-actions t + ;; switch-to-buffer-in-dedicated-window 'pop + ;; switch-to-buffer-obey-display-actions t ) ;; tweak some VI defaults @@ -106,11 +98,14 @@ (interactive) (scroll-up 1)))) -(after! haskell-mode - (setq haskell-process-type 'cabal-repl)) - -(after! org +(use-package! org + :init + ;; 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-log-into-drawer t + org-agenda-include-diary t + org-agenda-sticky t org-todo-keywords '( (sequence "NEXT(n)" "TODO(t)" "WAIT(w@/!)" "|" "DONE(d!)" "CNCL(k@)") (sequence "[ ](T)" "[-](S)" "[?](W)" "|" "[X](D)") @@ -129,6 +124,9 @@ )) + + :config + (use-package! org-ql) (use-package! org-modern) (use-package! org-bookmark-heading) @@ -152,7 +150,7 @@ (activities-tabs-mode) (setopt tab-bar-show 1) (map! - (:prefix ("C-c a" . "Activities") + (:prefix-map ("C-c a" . "Activities") :desc "Switch activity" "a" #'activities-switch :desc "Resume activity" "r" #'activities-resume :desc "Create new activity" "n" #'activities-new @@ -166,13 +164,26 @@ (when ak/at-work? (after! forge - (add-to-list 'forge-alist '("gitlab.atlas.de" "gitlab.atlas.de/api/v4" "gitlab.atlas.de" forge-gitlab-repository)) - ) + (add-to-list 'forge-alist '("gitlab.atlas.de" "gitlab.atlas.de/api/v4" "gitlab.atlas.de" forge-gitlab-repository))) - (after! code-review + (after! haskell-mode + (setq haskell-process-type 'cabal-new-repl)) + + (setq! plantuml-jar-path "~/opt/plantuml.jar") + (setq! org-plantuml-jar-path plantuml-jar-path) + + (after! lsp + (add-to-list 'lsp-disabled-clients 'cmakels)) + + (add-to-list '+format-on-save-disabled-modes 'cmake-mode) + (add-to-list '+format-on-save-disabled-modes 'nxml-mode) + + (use-package! code-review + :init (setq code-review-auth-login-marker 'forge) ;; (setq code-review-gitlab-host "gitlab.atlas.de/api") ;; (setq code-review-gitlab-graphql-host "gitlab.atlas.de/api") + :config (add-hook 'code-review-mode-hook (lambda () ;; include *Code-Review* buffer into current workspace @@ -234,20 +245,25 @@ (setq! org-gtd-update-ack "3.0.0") :config + (setf org-gtd-id--generate #'org-id-get-create) (setq! org-gtd-directory org-directory) (setq! org-gtd-default-file-name "actionable") + (setq! org-gtd-refile-to-any-target nil) + (setq! org-gtd-engage-prefix-width 40) (setq! org-edna-use-inheritance t) ;; (setq org-gtd-areas-of-focus '("house" "haskell" "foss")) - ;; (setq org-gtd-organize-hooks '(org-gtd-set-area-of-focus org-set-tags-command)) + (setq org-gtd-organize-hooks nil) (org-edna-mode) (map! :leader :desc "Capture" "X" #'org-gtd-capture - (:prefix ("d" . "GTD") + (:prefix-map ("d" . "GTD") :desc "Capture" "c" #'org-gtd-capture :desc "Engage" "e" #'org-gtd-engage + :desc "Engage Context" "@" #'org-gtd-engage-grouped-by-context :desc "Process inbox" "p" #'org-gtd-process-inbox :desc "Show all next" "n" #'org-gtd-show-all-next - (:prefix ("r" . "Review") + :desc "Fix project" "f" #'org-gtd-projects-fix-todo-keywords-for-project-at-point + (:prefix-map ("r" . "Review") :desc "Stuck projects" "p" #'org-gtd-review-stuck-projects :desc "Stuck actions" "a" #'org-gtd-review-stuck-single-action-items :desc "Stuck habits" "h" #'org-gtd-review-stuck-habit-items @@ -255,12 +271,14 @@ )) (map! :map org-gtd-clarify-map :desc "Organize this item" "C-c C-c" #'org-gtd-organize) - (map! (:prefix ("C-c d" . "GTD") + (map! (:prefix-map ("C-c d" . "GTD") :desc "Capture" "c" #'org-gtd-capture :desc "Engage" "e" #'org-gtd-engage + :desc "Engage Context" "@" #'org-gtd-engage-grouped-by-context :desc "Process inbox" "p" #'org-gtd-process-inbox :desc "Show all next" "n" #'org-gtd-show-all-next - (:prefix ("r" . "Review") + :desc "Fix project" "f" #'org-gtd-projects-fix-todo-keywords-for-project-at-point + (:prefix-map ("r" . "Review") :desc "Stuck projects" "p" #'org-gtd-review-stuck-projects :desc "Stuck actions" "a" #'org-gtd-review-stuck-single-action-items :desc "Stuck habits" "h" #'org-gtd-review-stuck-habit-items)))) @@ -296,7 +314,7 @@ :config (setq! denote-directory (concat org-directory "/notes")) (map! :leader - (:prefix ("n" . "notes") + (:prefix-map ("n" . "notes") :desc "Denote" "d" #'denote-open-or-create-with-command )) :bind @@ -313,8 +331,8 @@ org-agenda-compact-blocks t org-agenda-start-day nil org-agenda-span 1 - org-agenda-start-on-weekday nil - ) + org-agenda-start-on-weekday nil) + (setq! org-agenda-custom-commands '(("a" "Getting Things done" ((agenda "" ((org-agenda-overriding-header "")