update
This commit is contained in:
parent
3ce352d3cc
commit
7d4c2c2395
3 changed files with 117 additions and 81 deletions
167
config.el
167
config.el
|
@ -67,12 +67,13 @@
|
||||||
;; There are two ways to load a theme. Both assume the theme is installed and
|
;; There are two ways to load a theme. Both assume the theme is installed and
|
||||||
;; available. You can either set `doom-theme' or manually load a theme with the
|
;; available. You can either set `doom-theme' or manually load a theme with the
|
||||||
;; `load-theme' function. This is the default:
|
;; `load-theme' function. This is the default:
|
||||||
(setq doom-theme 'doom-dracula)
|
(setq doom-theme 'doom-badger)
|
||||||
(cnfonts-mode 1)
|
(cnfonts-mode 1)
|
||||||
|
(beacon-mode 1)
|
||||||
(setq word-wrap-by-category t)
|
(setq word-wrap-by-category t)
|
||||||
|
|
||||||
(load! "secrets")
|
(load! "secrets")
|
||||||
(setq-default custom-file (expand-file-name "secrets.el" doom-private-dir))
|
(setq-default custom-file (expand-file-name "secrets.el" doom-user-dir))
|
||||||
(when (file-exists-p custom-file)
|
(when (file-exists-p custom-file)
|
||||||
(load custom-file))
|
(load custom-file))
|
||||||
|
|
||||||
|
@ -81,6 +82,16 @@
|
||||||
(add-hook hook function))
|
(add-hook hook function))
|
||||||
hooks))
|
hooks))
|
||||||
|
|
||||||
|
;;clippy
|
||||||
|
(map! :leader
|
||||||
|
(:prefix ("c h" . "Help info from Clippy")
|
||||||
|
:desc "Clippy describes function under point" "f" #'clippy-describe-function
|
||||||
|
:desc "Clippy describes variable under point" "v" #'clippy-describe-variable))
|
||||||
|
|
||||||
|
;;shell
|
||||||
|
(setq shell-file-name "/bin/zsh"
|
||||||
|
vterm-max-scrollback 5000)
|
||||||
|
|
||||||
;;font
|
;;font
|
||||||
(add-to-list 'default-frame-alist '(height . 35))
|
(add-to-list 'default-frame-alist '(height . 35))
|
||||||
(add-to-list 'default-frame-alist '(width . 102))
|
(add-to-list 'default-frame-alist '(width . 102))
|
||||||
|
@ -129,7 +140,40 @@
|
||||||
;; numbers are disabled. For relative line numbers, set this to `relative'.
|
;; numbers are disabled. For relative line numbers, set this to `relative'.
|
||||||
(setq display-line-numbers-type t)
|
(setq display-line-numbers-type t)
|
||||||
|
|
||||||
;;mode
|
;; debuger
|
||||||
|
(after! dap-mode
|
||||||
|
(setq dap-python-debugger 'debugpy))
|
||||||
|
|
||||||
|
(map! :map dap-mode-map
|
||||||
|
:leader
|
||||||
|
:prefix ("d" . "dap")
|
||||||
|
;; basics
|
||||||
|
:desc "dap next" "n" #'dap-next
|
||||||
|
:desc "dap step in" "i" #'dap-step-in
|
||||||
|
:desc "dap step out" "o" #'dap-step-out
|
||||||
|
:desc "dap continue" "c" #'dap-continue
|
||||||
|
:desc "dap hydra" "h" #'dap-hydra
|
||||||
|
:desc "dap debug restart" "r" #'dap-debug-restart
|
||||||
|
:desc "dap debug" "s" #'dap-debug
|
||||||
|
|
||||||
|
;; debug
|
||||||
|
:prefix ("dd" . "Debug")
|
||||||
|
:desc "dap debug recent" "r" #'dap-debug-recent
|
||||||
|
:desc "dap debug last" "l" #'dap-debug-last
|
||||||
|
|
||||||
|
;; eval
|
||||||
|
:prefix ("de" . "Eval")
|
||||||
|
:desc "eval" "e" #'dap-eval
|
||||||
|
:desc "eval region" "r" #'dap-eval-region
|
||||||
|
:desc "eval thing at point" "s" #'dap-eval-thing-at-point
|
||||||
|
:desc "add expression" "a" #'dap-ui-expressions-add
|
||||||
|
:desc "remove expression" "d" #'dap-ui-expressions-remove
|
||||||
|
|
||||||
|
:prefix ("db" . "Breakpoint")
|
||||||
|
:desc "dap breakpoint toggle" "b" #'dap-breakpoint-toggle
|
||||||
|
:desc "dap breakpoint condition" "c" #'dap-breakpoint-condition
|
||||||
|
:desc "dap breakpoint hit count" "h" #'dap-breakpoint-hit-condition
|
||||||
|
:desc "dap breakpoint log message" "l" #'dap-breakpoint-log-message)
|
||||||
|
|
||||||
;; mail
|
;; mail
|
||||||
(set-email-account! "southfox.me"
|
(set-email-account! "southfox.me"
|
||||||
|
@ -141,12 +185,6 @@
|
||||||
(mu4e-compose-signature . "---\nFor mu4e"))
|
(mu4e-compose-signature . "---\nFor mu4e"))
|
||||||
t)
|
t)
|
||||||
|
|
||||||
(setq sendmail-program "/usr/bin/msmtp"
|
|
||||||
send-mail-function #'smtpmail-send-it
|
|
||||||
message-sendmail-f-is-evil t
|
|
||||||
message-sendmail-extra-arguments '("--read-envelope-from")
|
|
||||||
message-send-mail-function #'message-send-mail-with-sendmail)
|
|
||||||
|
|
||||||
;; guess-word
|
;; guess-word
|
||||||
(use-package! guess-word)
|
(use-package! guess-word)
|
||||||
(setq guess-word-org-file (f-expand "~/Nextcloud/Documents/my-esl.org"))
|
(setq guess-word-org-file (f-expand "~/Nextcloud/Documents/my-esl.org"))
|
||||||
|
@ -165,7 +203,7 @@
|
||||||
"KDic11万英汉词典"
|
"KDic11万英汉词典"
|
||||||
))
|
))
|
||||||
|
|
||||||
(map! :leader :desc "sdvc" "d" #'sdcv-search-pointer+)
|
(map! :leader :desc "sdvc" "z" #'sdcv-search-pointer+)
|
||||||
;; rime
|
;; rime
|
||||||
(use-package! rime
|
(use-package! rime
|
||||||
:custom
|
:custom
|
||||||
|
@ -249,65 +287,25 @@
|
||||||
;;; org
|
;;; org
|
||||||
;; If you use `org' and don't want your org files in the default location below,
|
;; 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!
|
;; change `org-directory'. It must be set before org loads!
|
||||||
|
;; (defun org-summary-todo (n-done n-not-done)
|
||||||
|
;; "Switch entry to DONE when all subentries are done, to TODO otherwise."
|
||||||
|
;; (let (org-log-done org-log-states) ; turn off logging
|
||||||
|
;; (org-todo (if (= n-not-done 0) "DONE" "TODO"))))
|
||||||
|
|
||||||
|
;; (add-hook 'org-after-todo-statistics-hook 'org-summary-todo)
|
||||||
(after! org
|
(after! org
|
||||||
(setq org-directory "~/org/")
|
(setq org-directory "~/org/"
|
||||||
(setq org-image-actual-width '(400))
|
org-ellipsis " ▼ "
|
||||||
(setq org-link-search-must-match-exact-headline nil)
|
org-superstar-headline-bullets-list '("◉" "●" "○" "◆" "●" "○" "◆")
|
||||||
(setq org-log-done 'time)
|
org-image-actual-width '(400)
|
||||||
(setq org-log-into-drawer t))
|
org-link-search-must-match-exact-headline nil
|
||||||
|
org-log-done 'time
|
||||||
|
org-log-into-drawer t))
|
||||||
|
|
||||||
;(setq org-emphasis-regexp-components '("-[:multibyte:][:space:]('\"{" "-[:multibyte:][:space:].,:!?;'\")}\\[" "[:space:]" "." 1))
|
;(setq org-emphasis-regexp-components '("-[:multibyte:][:space:]('\"{" "-[:multibyte:][:space:].,:!?;'\")}\\[" "[:space:]" "." 1))
|
||||||
;(org-set-emph-re 'org-emphasis-regexp-components org-emphasis-regexp-components)
|
;(org-set-emph-re 'org-emphasis-regexp-components org-emphasis-regexp-components)
|
||||||
;(org-element-update-syntax)
|
;(org-element-update-syntax)
|
||||||
|
|
||||||
;; super agenda
|
|
||||||
(use-package! org-super-agenda
|
|
||||||
:commands org-super-agenda-mode)
|
|
||||||
|
|
||||||
;; (after! org-agenda
|
|
||||||
;; (org-super-agenda-mode))
|
|
||||||
|
|
||||||
;; (setq org-agenda-skip-scheduled-if-done t
|
|
||||||
;; org-agenda-skip-deadline-if-done t
|
|
||||||
;; org-agenda-include-deadlines t
|
|
||||||
;; org-agenda-block-separator nil
|
|
||||||
;; org-agenda-tags-column 100 ;; from testing this seems to be a good value
|
|
||||||
;; org-agenda-compact-blocks t)
|
|
||||||
|
|
||||||
;; (setq org-agenda-custom-commands
|
|
||||||
;; '(("o" "Overview"
|
|
||||||
;; ((agenda "" ((org-agenda-span 'day)
|
|
||||||
;; (org-agenda-start-day nil)
|
|
||||||
;; (org-super-agenda-groups
|
|
||||||
;; '((:name "降"
|
|
||||||
;; :time-grid t
|
|
||||||
;; :date today
|
|
||||||
;; :scheduled today
|
|
||||||
;; :order 1)))))
|
|
||||||
;; (alltodo "" ((org-agenda-overriding-header "")
|
|
||||||
;; (org-super-agenda-groups
|
|
||||||
;; '((:name "继"
|
|
||||||
;; :todo "STRT"
|
|
||||||
;; :order 1)
|
|
||||||
;; (:name "急"
|
|
||||||
;; :tag "急"
|
|
||||||
;; :priority "A"
|
|
||||||
;; :order 6)
|
|
||||||
;; (:name "绷"
|
|
||||||
;; :deadline today
|
|
||||||
;; :order 2)
|
|
||||||
;; (:name "临"
|
|
||||||
;; :deadline future
|
|
||||||
;; :order 8)
|
|
||||||
;; (:name "逝"
|
|
||||||
;; :deadline past
|
|
||||||
;; :face error
|
|
||||||
;; :order 7)
|
|
||||||
;; (:name "待"
|
|
||||||
;; :scheduled today
|
|
||||||
;; :order 3)
|
|
||||||
;; (:discard (:tag ("Chore" "Routine" "Daily")))))))))))
|
|
||||||
|
|
||||||
;; elfeed
|
;; elfeed
|
||||||
(after! elfeed
|
(after! elfeed
|
||||||
(setq elfeed-search-filter "@6-month-ago +unread")
|
(setq elfeed-search-filter "@6-month-ago +unread")
|
||||||
|
@ -335,32 +333,67 @@
|
||||||
("T" "Tickler" entry
|
("T" "Tickler" entry
|
||||||
(file+headline "~/Nextcloud/gtd/tickler.org" "Tickler")
|
(file+headline "~/Nextcloud/gtd/tickler.org" "Tickler")
|
||||||
"* %i%? \n %U"))))
|
"* %i%? \n %U"))))
|
||||||
|
;;roam-hugo
|
||||||
|
(setq org-hugo-base-dir "~/Documents/roam-publish/")
|
||||||
|
|
||||||
|
(defun my/org-roam-filter-by-tag (tag-name)
|
||||||
|
(lambda (node)
|
||||||
|
(member tag-name (org-roam-node-tags node))))
|
||||||
|
|
||||||
|
(defun my/org-roam-list-notes-by-tag (tag-name)
|
||||||
|
(mapcar #'org-roam-node-file
|
||||||
|
(seq-filter
|
||||||
|
(daviwil/org-roam-filter-by-tag tag-name)
|
||||||
|
(org-roam-node-list))))
|
||||||
|
|
||||||
|
(defun my/org-roam-export-all ()
|
||||||
|
"Re-exports all Org-roam files to Hugo markdown."
|
||||||
|
(interactive)
|
||||||
|
(dolist (org-file (my/org-roam-list-notes-by-tag "publish"))
|
||||||
|
;(dolist (org-file (directory-files-recursively org-roam-directory "\.org$"))
|
||||||
|
(with-current-buffer (find-file org-file)
|
||||||
|
(org-hugo-export-wim-to-md))))
|
||||||
|
|
||||||
|
(defun my/org-roam-creat-node ()
|
||||||
|
"creat node and add IS_NODE property"
|
||||||
|
(interactive)
|
||||||
|
(org-id-get-create)
|
||||||
|
(org-set-tags ":NODE:")
|
||||||
|
(save-buffer)
|
||||||
|
(org-hugo-export-wim-to-md))
|
||||||
|
|
||||||
;; org-roam
|
;; org-roam
|
||||||
(setq org-roam-directory "~/Nextcloud/Note/org-roam")
|
(setq org-roam-directory "~/Nextcloud/Note/org-roam")
|
||||||
|
(setq org-id-extra-files (org-roam--list-files org-roam-directory))
|
||||||
(setq org-roam-capture-templates
|
(setq org-roam-capture-templates
|
||||||
'(("m" "main" plain
|
'(("m" "main" plain
|
||||||
"%?"
|
"%?"
|
||||||
:if-new (file+head "main/${slug}.org"
|
:if-new (file+head "main/${slug}.org"
|
||||||
"#+title: ${title}\n")
|
"#+title: ${title}\n#+date: %T\n#+hugo_auto_set_lastmod: t\n")
|
||||||
:immediate-finish t
|
:immediate-finish t
|
||||||
:unnarrowed t)
|
:unnarrowed t)
|
||||||
("r" "reference" plain "%?"
|
("r" "reference" plain "%?"
|
||||||
:if-new
|
:if-new
|
||||||
(file+head "reference/${title}.org" "#+title: ${title}\n")
|
(file+head "reference/${title}.org" "#+title: ${title}\n#+date: %T\n#+hugo_auto_set_lastmod: t\n")
|
||||||
:immediate-finish t
|
:immediate-finish t
|
||||||
:unnarrowed t)
|
:unnarrowed t)
|
||||||
("t" "ttk" plain "%?"
|
("t" "ttk" plain "%?"
|
||||||
:if-new
|
:if-new
|
||||||
(file+head "ttk/${title}.org" "#+title: ${title}\n")
|
(file+head "ttk/${title}.org" "#+title: ${title}\n#+date: %T\n#+hugo_auto_set_lastmod: t\n")
|
||||||
:immediate-finish t
|
:immediate-finish t
|
||||||
:unnarrowed t)
|
:unnarrowed t)
|
||||||
("a" "article" plain "%?"
|
("a" "article" plain "%?"
|
||||||
:if-new
|
:if-new
|
||||||
(file+head "articles/${title}.org" "#+title: ${title}\n#+filetags: :article:\n")
|
(file+head "articles/${title}.org" "#+title: ${title}\n#+date: %T\n#+filetags: :article: :publish:\n#+hugo_auto_set_lastmod: t\n")
|
||||||
:immediate-finish t
|
:immediate-finish t
|
||||||
:unnarrowed t)))
|
:unnarrowed t)))
|
||||||
|
|
||||||
|
(setq org-roam-dailies-capture-templates
|
||||||
|
'(("d" "default" entry
|
||||||
|
"* %?"
|
||||||
|
:target (file+head "%<%Y-%m-%d>.org"
|
||||||
|
"#+title: %<%Y-%m-%d>\n#+date: %T\n#+hugo_auto_set_lastmod: t\n"))))
|
||||||
|
|
||||||
;; org-roam-ui
|
;; org-roam-ui
|
||||||
(use-package! websocket
|
(use-package! websocket
|
||||||
:after org-roam)
|
:after org-roam)
|
||||||
|
|
19
init.el
19
init.el
|
@ -82,12 +82,12 @@
|
||||||
:checkers
|
:checkers
|
||||||
syntax ; tasing you for every semicolon you forget
|
syntax ; tasing you for every semicolon you forget
|
||||||
;;(spell +flyspell) ; tasing you for misspelling mispelling
|
;;(spell +flyspell) ; tasing you for misspelling mispelling
|
||||||
;;grammar ; tasing grammar mistake every you make
|
grammar ; tasing grammar mistake every you make
|
||||||
|
|
||||||
:tools
|
:tools
|
||||||
;;ansible
|
;;ansible
|
||||||
;;biblio ; Writes a PhD for you (citation needed)
|
;;biblio ; Writes a PhD for you (citation needed)
|
||||||
;;debugger ; FIXME stepping through code, to help you add bugs
|
(debugger +lsp) ; FIXME stepping through code, to help you add bugs
|
||||||
;;direnv
|
;;direnv
|
||||||
(docker +lsp)
|
(docker +lsp)
|
||||||
;;editorconfig ; let someone else argue about tabs vs spaces
|
;;editorconfig ; let someone else argue about tabs vs spaces
|
||||||
|
@ -116,7 +116,7 @@
|
||||||
;;beancount ; mind the GAAP
|
;;beancount ; mind the GAAP
|
||||||
;;(cc +lsp) ; C > C++ == 1
|
;;(cc +lsp) ; C > C++ == 1
|
||||||
;;clojure ; java with a lisp
|
;;clojure ; java with a lisp
|
||||||
;;common-lisp ; if you've seen one lisp, you've seen them all
|
common-lisp ; if you've seen one lisp, you've seen them all
|
||||||
;;coq ; proofs-as-programs
|
;;coq ; proofs-as-programs
|
||||||
;;crystal ; ruby at the speed of c
|
;;crystal ; ruby at the speed of c
|
||||||
;;csharp ; unity, .NET, and mono shenanigans
|
;;csharp ; unity, .NET, and mono shenanigans
|
||||||
|
@ -133,13 +133,14 @@
|
||||||
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
|
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
|
||||||
;;fsharp ; ML stands for Microsoft's Language
|
;;fsharp ; ML stands for Microsoft's Language
|
||||||
;;fstar ; (dependent) types and (monadic) effects and Z3
|
;;fstar ; (dependent) types and (monadic) effects and Z3
|
||||||
;;gdscript ; the language you waited for
|
(gdscript
|
||||||
|
+lsp) ; the language you waited for
|
||||||
;;(go +lsp) ; the hipster dialect
|
;;(go +lsp) ; the hipster dialect
|
||||||
;;(haskell +lsp) ; a language that's lazier than I am
|
;;(haskell +lsp) ; a language that's lazier than I am
|
||||||
;;hy ; readability of scheme w/ speed of python
|
;;hy ; readability of scheme w/ speed of python
|
||||||
;;idris ; a language you can depend on
|
;;idris ; a language you can depend on
|
||||||
json ; At least it ain't XML
|
json ; At least it ain't XML
|
||||||
;;(java +lsp) ; the poster child for carpal tunnel syndrome
|
;;java ; the poster child for carpal tunnel syndrome
|
||||||
(javascript +lsp) ; all(hope(abandon(ye(who(enter(here))))))
|
(javascript +lsp) ; all(hope(abandon(ye(who(enter(here))))))
|
||||||
;;julia ; a better, faster MATLAB
|
;;julia ; a better, faster MATLAB
|
||||||
;;kotlin ; a better, slicker Java(Script)
|
;;kotlin ; a better, slicker Java(Script)
|
||||||
|
@ -157,7 +158,7 @@
|
||||||
(org
|
(org
|
||||||
+roam2
|
+roam2
|
||||||
+pomodoro
|
+pomodoro
|
||||||
+hugo
|
+pretty
|
||||||
+gnuplot) ; organize your plain life in plain text
|
+gnuplot) ; organize your plain life in plain text
|
||||||
;;php ; perl's insecure younger brother
|
;;php ; perl's insecure younger brother
|
||||||
;;plantuml ; diagrams for confusing people more
|
;;plantuml ; diagrams for confusing people more
|
||||||
|
@ -172,9 +173,9 @@
|
||||||
;;rest ; Emacs as a REST client
|
;;rest ; Emacs as a REST client
|
||||||
;;rst ; ReST in peace
|
;;rst ; ReST in peace
|
||||||
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
||||||
(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||||
;;scala ; java, but good
|
;;scala ; java, but good
|
||||||
;;(scheme +guile) ; a fully conniving family of lisps
|
(scheme +guile) ; a fully conniving family of lisps
|
||||||
sh ; she sells {ba,z,fi}sh shells on the C xor
|
sh ; she sells {ba,z,fi}sh shells on the C xor
|
||||||
;;sml
|
;;sml
|
||||||
;;solidity ; do you need a blockchain? No.
|
;;solidity ; do you need a blockchain? No.
|
||||||
|
@ -191,7 +192,7 @@
|
||||||
|
|
||||||
:app
|
:app
|
||||||
;;calendar
|
;;calendar
|
||||||
;;emms
|
emms
|
||||||
everywhere ; *leave* Emacs!? You must be joking
|
everywhere ; *leave* Emacs!? You must be joking
|
||||||
;;irc ; how neckbeards socialize
|
;;irc ; how neckbeards socialize
|
||||||
(rss +org) ; emacs as an RSS reader
|
(rss +org) ; emacs as an RSS reader
|
||||||
|
|
12
packages.el
12
packages.el
|
@ -51,11 +51,16 @@
|
||||||
(package! rime)
|
(package! rime)
|
||||||
(package! cnfonts)
|
(package! cnfonts)
|
||||||
(package! tldr)
|
(package! tldr)
|
||||||
|
(package! beacon)
|
||||||
|
(package! clippy)
|
||||||
|
(package! parrot)
|
||||||
|
|
||||||
|
(unpin! org-roam)
|
||||||
(package! org-download)
|
(package! org-download)
|
||||||
(package! org-transclusion)
|
(package! org-transclusion)
|
||||||
(package! org-fragtog)
|
(package! org-fragtog)
|
||||||
(package! org-roam-ui)
|
(package! org-roam-ui)
|
||||||
|
(package! ox-hugo)
|
||||||
|
|
||||||
(package! ace-pinyin
|
(package! ace-pinyin
|
||||||
:recipe (:host github :repo "cute-jumper/ace-pinyin"))
|
:recipe (:host github :repo "cute-jumper/ace-pinyin"))
|
||||||
|
@ -63,15 +68,12 @@
|
||||||
(package! fanyi)
|
(package! fanyi)
|
||||||
(package! sdcv
|
(package! sdcv
|
||||||
:recipe (:host github :repo "manateelazycat/sdcv"))
|
:recipe (:host github :repo "manateelazycat/sdcv"))
|
||||||
|
|
||||||
(package! emacs-guess-word-game
|
(package! emacs-guess-word-game
|
||||||
:recipe (:host github
|
:recipe (:host github
|
||||||
:repo "Qquanwei/emacs-guess-word-game" :files ("*")))
|
:repo "Qquanwei/emacs-guess-word-game" :files ("*")))
|
||||||
|
|
||||||
(package! impatient-mode)
|
|
||||||
|
|
||||||
(package! wallabag
|
(package! wallabag
|
||||||
:recipe (:host github :repo "chenyanming/wallabag.el"
|
:recipe (:host github :repo "chenyanming/wallabag.el"
|
||||||
:files ("*.el" "*.alist" "*.css")))
|
:files ("*.el" "*.alist" "*.css")))
|
||||||
|
(package! mastodon)
|
||||||
|
|
||||||
(package! parrot)
|
(package! impatient-mode)
|
||||||
|
|
Loading…
Reference in a new issue