Added
- support for roam - support for elfeed - minor changes - cleared configural
This commit is contained in:
169
config.el
169
config.el
@@ -4,9 +4,10 @@
|
|||||||
;; Theme / UI
|
;; Theme / UI
|
||||||
;; --------------------------------------------------
|
;; --------------------------------------------------
|
||||||
(setq doom-theme 'modus-vivendi-deuteranopia
|
(setq doom-theme 'modus-vivendi-deuteranopia
|
||||||
display-line-numbers-type t
|
|
||||||
doom-font (font-spec :family "JetBrains Mono" :size 14)
|
doom-font (font-spec :family "JetBrains Mono" :size 14)
|
||||||
doom-variable-pitch-font nil)
|
doom-variable-pitch-font nil)
|
||||||
|
(setq display-line-numbers-type t)
|
||||||
|
|
||||||
|
|
||||||
;; --------------------------------------------------
|
;; --------------------------------------------------
|
||||||
;; macOS / UX
|
;; macOS / UX
|
||||||
@@ -66,60 +67,82 @@ Funguje v libovolném textu, včetně Markdown linků (např. [x](./...))."
|
|||||||
(add-hook 'markdown-mode-hook (lambda () (setq-local company-minimum-prefix-length 1)))
|
(add-hook 'markdown-mode-hook (lambda () (setq-local company-minimum-prefix-length 1)))
|
||||||
(add-hook 'gfm-mode-hook (lambda () (setq-local company-minimum-prefix-length 1))))
|
(add-hook 'gfm-mode-hook (lambda () (setq-local company-minimum-prefix-length 1))))
|
||||||
|
|
||||||
;; --------------------------------------------------
|
;;; ~/.doom.d/config.el --- Org config -*- lexical-binding: t; -*-
|
||||||
;; Org
|
|
||||||
;; --------------------------------------------------
|
|
||||||
|
|
||||||
(setq org-directory "~/org/")
|
;; ------------------------------------------------------------
|
||||||
|
;; ORG (Doom-friendly, minimal, bez zbytečných menu)
|
||||||
|
;; ------------------------------------------------------------
|
||||||
|
|
||||||
(after! org
|
(after! org
|
||||||
(setq org-default-notes-file (expand-file-name "inbox.org" org-directory))
|
;; 1) Kde máš org soubory
|
||||||
|
;; Uprav si cestu podle sebe. Tohle je typický Doom default.
|
||||||
|
(setq org-directory "~/org/")
|
||||||
|
|
||||||
(setq org-agenda-files (list org-directory
|
;; Pomocná funkce: vrátí plnou cestu k souboru v org-directory
|
||||||
(expand-file-name "projects" org-directory)
|
(defun ms/org-file (name)
|
||||||
(expand-file-name "notes" org-directory)))
|
"Return absolute path to NAME inside `org-directory`."
|
||||||
|
(expand-file-name name org-directory))
|
||||||
(setq org-todo-keywords
|
|
||||||
'((sequence "TODO(t)" "NEXT(n)" "WAIT(w@/!)" "|" "DONE(d!)" "CANCELLED(c@)")))
|
|
||||||
|
|
||||||
(setq org-log-done 'time)
|
|
||||||
|
|
||||||
(setq org-refile-targets '((org-agenda-files :maxlevel . 5))
|
|
||||||
org-outline-path-complete-in-steps nil
|
|
||||||
org-refile-use-outline-path 'file)
|
|
||||||
|
|
||||||
(defun my/project-org-file ()
|
|
||||||
"Return path to ./project.org in current Projectile project, if it exists."
|
|
||||||
(when-let ((root (projectile-project-root)))
|
|
||||||
(let ((f (expand-file-name "project.org" root)))
|
|
||||||
(when (file-exists-p f) f))))
|
|
||||||
|
|
||||||
(defun my/org-agenda-project ()
|
|
||||||
"Open Org agenda restricted to current project's project.org."
|
|
||||||
(interactive)
|
|
||||||
(let ((org-agenda-files (delq nil (list (my/project-org-file)))))
|
|
||||||
(if org-agenda-files
|
|
||||||
(org-agenda nil "a")
|
|
||||||
(user-error "No project.org found in this project"))))
|
|
||||||
|
|
||||||
|
;; 2) Org-capture templates
|
||||||
|
;; Zachovává tvoje i/n/p a jen doplňuje chybějící věci.
|
||||||
(setq org-capture-templates
|
(setq org-capture-templates
|
||||||
'(("i" "Inbox task" entry
|
`(
|
||||||
(file "inbox.org")
|
;; --- Tvoje původní šablony (beze změn) ---
|
||||||
|
("i" "Inbox task" entry
|
||||||
|
(file ,(ms/org-file "inbox.org"))
|
||||||
"* TODO %?\n%U\n%a\n")
|
"* TODO %?\n%U\n%a\n")
|
||||||
|
|
||||||
("n" "Note" entry
|
("n" "Note" entry
|
||||||
(file+headline "inbox.org" "Notes")
|
(file+headline ,(ms/org-file "inbox.org") "Notes")
|
||||||
"* %?\n%U\n%a\n")
|
"* %?\n%U\n%a\n")
|
||||||
|
|
||||||
("p" "Project task" entry
|
("p" "Project task" entry
|
||||||
(file "inbox.org")
|
(file ,(ms/org-file "inbox.org"))
|
||||||
"* TODO %? :project:\n%U\n%a\n"))))
|
"* TODO %? :project:\n%U\n%a\n")
|
||||||
(setq org-agenda-sorting-strategy
|
|
||||||
'((agenda priority-down time-up)
|
;; --- Doplňky (minimalisticky) ---
|
||||||
(todo priority-down)
|
|
||||||
(tags priority-down)
|
;; Subtask do právě clockované položky
|
||||||
(search priority-down)))
|
("s" "Clocked subtask" entry (clock)
|
||||||
(setq org-priority-highest ?A
|
"* TODO %?\n%U\n%a\n%i"
|
||||||
org-priority-lowest ?C
|
:empty-lines 1)
|
||||||
org-priority-default ?C)
|
|
||||||
|
;; Journal do journal.org (datetree) + automatické měření času
|
||||||
|
("j" "Journal" entry
|
||||||
|
(file+olp+datetree ,(ms/org-file "journal.org"))
|
||||||
|
"\n* %<%I:%M %p> - Journal :journal:\n\n%?\n\n"
|
||||||
|
:clock-in :clock-resume
|
||||||
|
:empty-lines 1)
|
||||||
|
|
||||||
|
;; Meeting do journal.org (datetree) + měření času
|
||||||
|
("m" "Meeting" entry
|
||||||
|
(file+olp+datetree ,(ms/org-file "journal.org"))
|
||||||
|
"* %<%I:%M %p> - %^{Meeting title} :meetings:\nContext: %a\n\n%?\n\n"
|
||||||
|
:clock-in :clock-resume
|
||||||
|
:empty-lines 1)
|
||||||
|
|
||||||
|
;; Checking Email – do journal datetree
|
||||||
|
("e" "Checking Email" entry
|
||||||
|
(file+olp+datetree ,(ms/org-file "journal.org"))
|
||||||
|
"* Checking Email :email:\n\n%?"
|
||||||
|
:clock-in :clock-resume
|
||||||
|
:empty-lines 1)
|
||||||
|
|
||||||
|
;; Weight metrika do tabulky v metrics.org pod headline "Weight"
|
||||||
|
("w" "Weight" table-line
|
||||||
|
(file+headline ,(ms/org-file "metrics.org") "Weight")
|
||||||
|
"| %U | %^{Weight} | %^{Notes} |"
|
||||||
|
:kill-buffer t)
|
||||||
|
)))
|
||||||
|
|
||||||
|
;; ------------------------------------------------------------
|
||||||
|
;; (Volitelné) Kvalita života – nic navíc, jen užitečné defaulty
|
||||||
|
;; ------------------------------------------------------------
|
||||||
|
|
||||||
|
(after! org
|
||||||
|
;; ať se po capture vrací do stejného okna (někomu pomáhá)
|
||||||
|
(setq org-capture-restore-window-after-quit t))
|
||||||
|
|
||||||
|
|
||||||
;; --------------------------------------------------
|
;; --------------------------------------------------
|
||||||
;; Dired
|
;; Dired
|
||||||
@@ -433,17 +456,6 @@ Funguje v libovolném textu, včetně Markdown linků (např. [x](./...))."
|
|||||||
(setq user-mail-address "martin@sukany.cz"
|
(setq user-mail-address "martin@sukany.cz"
|
||||||
user-full-name "Martin Sukany")
|
user-full-name "Martin Sukany")
|
||||||
|
|
||||||
(map! :map mu4e-view-mode-map
|
|
||||||
:localleader
|
|
||||||
"l l" #'org-store-link
|
|
||||||
"l i" #'org-insert-link)
|
|
||||||
|
|
||||||
(map! :map mu4e-headers-mode-map
|
|
||||||
:localleader
|
|
||||||
"l l" #'org-store-link
|
|
||||||
"l i" #'org-insert-link)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;;; ================================
|
;;; ================================
|
||||||
;;; Emacspeak robust ON/OFF for Doom
|
;;; Emacspeak robust ON/OFF for Doom
|
||||||
@@ -458,7 +470,7 @@ Funguje v libovolném textu, včetně Markdown linků (např. [x](./...))."
|
|||||||
|
|
||||||
;; Emacspeak uses this to start the speech server.
|
;; Emacspeak uses this to start the speech server.
|
||||||
(setq dtk-program my/emacspeak-wrapper)
|
(setq dtk-program my/emacspeak-wrapper)
|
||||||
|
;;(setq dtk-program "espeak")
|
||||||
|
|
||||||
;; State flags
|
;; State flags
|
||||||
(defvar my/emacspeak-loaded nil)
|
(defvar my/emacspeak-loaded nil)
|
||||||
@@ -526,24 +538,20 @@ Funguje v libovolném textu, včetně Markdown linků (např. [x](./...))."
|
|||||||
(:prefix ("t" . "toggle")
|
(:prefix ("t" . "toggle")
|
||||||
:desc "Speech ON" "s" #'my/emacspeak-on
|
:desc "Speech ON" "s" #'my/emacspeak-on
|
||||||
:desc "Speech OFF" "S" #'my/emacspeak-off))
|
:desc "Speech OFF" "S" #'my/emacspeak-off))
|
||||||
(setq dtk-speech-rate 300)
|
|
||||||
|
|
||||||
|
|
||||||
;; ----------------------------
|
;; ----------------------------
|
||||||
;; Emacspeak defaults (global)
|
;; Emacspeak defaults (global)
|
||||||
;; ----------------------------
|
;; ----------------------------
|
||||||
(with-eval-after-load 'dtk-speak
|
(with-eval-after-load 'dtk-speak
|
||||||
;; Speech rate
|
|
||||||
(setq-default dtk-speech-rate 300)
|
|
||||||
|
|
||||||
;; Default punctuation mode: none / some / all
|
;; Default punctuation mode: none / some / all
|
||||||
;; (Emacspeak manual: dtk-set-punctuations supports 'none 'some 'all) :contentReference[oaicite:1]{index=1}
|
;; (Emacspeak manual: dtk-set-punctuations supports 'none 'some 'all)
|
||||||
|
(setq dtk-speech-rate-base 300)
|
||||||
(setq-default dtk-punctuation-mode 'none))
|
(setq-default dtk-punctuation-mode 'none))
|
||||||
|
|
||||||
(with-eval-after-load 'emacspeak
|
(with-eval-after-load 'emacspeak
|
||||||
;; Typing feedback:
|
;; Typing feedback:
|
||||||
;; nechceš znaky, chceš slova + řádky
|
;; nechceš znaky, chceš slova + řádky
|
||||||
;; (Emacspeak manual: character/word/line echo) :contentReference[oaicite:2]{index=2}
|
;; (Emacspeak manual: character/word/line echo)
|
||||||
(setq-default emacspeak-character-echo nil)
|
(setq-default emacspeak-character-echo nil)
|
||||||
(setq-default emacspeak-word-echo t)
|
(setq-default emacspeak-word-echo t)
|
||||||
(setq-default emacspeak-line-echo t))
|
(setq-default emacspeak-line-echo t))
|
||||||
@@ -552,3 +560,36 @@ Funguje v libovolném textu, včetně Markdown linků (např. [x](./...))."
|
|||||||
(:prefix ("h" . "help")
|
(:prefix ("h" . "help")
|
||||||
:desc "Describe bindings (buffer-local)" "B" #'describe-bindings))
|
:desc "Describe bindings (buffer-local)" "B" #'describe-bindings))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;; 1) ulož si globální default hodnotu
|
||||||
|
(setq dtk-default-speech-rate 400)
|
||||||
|
|
||||||
|
;; 2) aplikuj ji ve chvíli, kdy je TTS už inicializované
|
||||||
|
(with-eval-after-load 'dtk-speak
|
||||||
|
(defun my/dtk-apply-global-default-rate (&rest _)
|
||||||
|
"Apply global default speech rate after TTS init/restart."
|
||||||
|
(when (fboundp 'dtk-set-rate)
|
||||||
|
;; PREFIX arg => set GLOBAL default (per Emacspeak manual)
|
||||||
|
(ignore-errors (dtk-set-rate dtk-default-speech-rate t))))
|
||||||
|
;; po každé inicializaci/restartu TTS
|
||||||
|
(advice-add 'dtk-initialize :after #'my/dtk-apply-global-default-rate))
|
||||||
|
|
||||||
|
|
||||||
|
;; ElFeed (RSS)
|
||||||
|
(map! :leader
|
||||||
|
:desc "Elfeed" "o r" #'elfeed)
|
||||||
|
|
||||||
|
|
||||||
|
(after! org
|
||||||
|
;; pokud máš org soubory jinde než ~/org, nastav org-directory sem:
|
||||||
|
;; (setq org-directory "~/org")
|
||||||
|
|
||||||
|
;; elfeed-org: řekni mu explicitně, kde je elfeed.org
|
||||||
|
(setq rmh-elfeed-org-files
|
||||||
|
(list (expand-file-name "elfeed.org" org-directory))))
|
||||||
|
|
||||||
|
(after! elfeed
|
||||||
|
;; elfeed-org musí být inicializovaný, jinak se elfeed.org nemusí načítat
|
||||||
|
(require 'elfeed-org)
|
||||||
|
(elfeed-org))
|
||||||
|
|||||||
11
init.el
11
init.el
@@ -5,8 +5,13 @@
|
|||||||
company
|
company
|
||||||
vertico
|
vertico
|
||||||
|
|
||||||
|
:app
|
||||||
|
(rss +org)
|
||||||
|
everywhere
|
||||||
|
|
||||||
:ui
|
:ui
|
||||||
doom
|
doom
|
||||||
|
popup
|
||||||
doom-dashboard
|
doom-dashboard
|
||||||
hl-todo
|
hl-todo
|
||||||
modeline
|
modeline
|
||||||
@@ -16,6 +21,7 @@
|
|||||||
vi-tilde-fringe
|
vi-tilde-fringe
|
||||||
workspaces
|
workspaces
|
||||||
|
|
||||||
|
|
||||||
:editor
|
:editor
|
||||||
(evil +everywhere)
|
(evil +everywhere)
|
||||||
file-templates
|
file-templates
|
||||||
@@ -67,7 +73,7 @@
|
|||||||
latex
|
latex
|
||||||
lua
|
lua
|
||||||
markdown
|
markdown
|
||||||
org
|
(org +roam2)
|
||||||
(perl +lsp) ;; <- perl completion přes LSP (pokud máš server)
|
(perl +lsp) ;; <- perl completion přes LSP (pokud máš server)
|
||||||
plantuml
|
plantuml
|
||||||
(python +lsp) ;; <- python completion přes LSP (pyright apod.)
|
(python +lsp) ;; <- python completion přes LSP (pyright apod.)
|
||||||
@@ -75,8 +81,11 @@
|
|||||||
sh
|
sh
|
||||||
terra
|
terra
|
||||||
web
|
web
|
||||||
|
terra
|
||||||
yaml
|
yaml
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
:config
|
:config
|
||||||
(default +bindings +smartparens))
|
(default +bindings +smartparens))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user