From 830ecab976acfb5e18ec5095aeda2cb695931d8c Mon Sep 17 00:00:00 2001 From: cashmere Date: Mon, 2 Feb 2026 16:07:03 +0100 Subject: Sync --- config.el | 218 +++++++++++++++++++++++++++------------------------------ config.org | 98 +++++++++++++++++++++----- custom-vars.el | 39 ----------- 3 files changed, 183 insertions(+), 172 deletions(-) delete mode 100644 custom-vars.el diff --git a/config.el b/config.el index 0ef699f..efe39c6 100644 --- a/config.el +++ b/config.el @@ -91,6 +91,7 @@ :hook ;; Add hooks to enable specific features in certain modes. (prog-mode . display-line-numbers-mode) (org-mode . display-line-numbers-mode) + (markdown-mode . display-line-numbers-mode) :config (add-to-list 'custom-theme-load-path user-emacs-directory) @@ -219,8 +220,8 @@ (dired-listing-switches "-lah --group-directories-first") (dired-dwim-target t) (dired-guess-shell-alist-user - '(;; ("\\.\\(png\\|jpe?g\\|tiff\\)" "feh" "xdg-open" "open") - ("\\.\\(mp[34]\\|m4a\\|ogg\\|flac\\|webm\\|mkv\\)" "mpv" "xdg-open" "open") + '(;; ("\\\\.\\\\(png\\\\|jpe?g\\\\|tiff\\\\)" "feh" "xdg-open" "open") + ("\\\\.\\\\(mp[34]\\\\|m4a\\\\|ogg\\\\|flac\\\\|webm\\\\|mkv\\\\)" "mpv" "xdg-open" "open") (".*" "open" "xdg-open"))) (dired-kill-when-opening-new-dired-buffer t) (dired-create-destination-dirs 'always) @@ -240,6 +241,13 @@ (lambda () (interactive) (mailcap-view-file (dired-get-filename)))) + + (advice-add 'dired-create-directory :around + (lambda (orig-fun dirname) + (let ((current-buffer (current-buffer))) + (funcall orig-fun dirname) + (with-current-buffer current-buffer + (revert-buffer))))) (when (eq system-type 'darwin) (let ((gls (executable-find "gls"))) @@ -788,10 +796,6 @@ and convert it to Org using the pandoc utility." :ensure t :mode ("\\.epub\\'" . nov-mode)) -(use-package org-generate - :ensure t - :defer t) - (use-package yequake :custom (yequake-frames @@ -1350,6 +1354,8 @@ Works on the base filename (without extension), e.g. matches \"-task\", \":task: :ensure t ) + + (use-package denote-explore :ensure t ) @@ -1378,17 +1384,6 @@ Works on the base filename (without extension), e.g. matches \"-task\", \":task: (define-key global-map (kbd "C-c t") #'tmr-prefix-map)) -(with-eval-after-load 'tmr-tabulated-mode - (general-def 'normal tmr-tabulated-mode-hook - "y" 'tmr-clone - "c" 'tmr-cancel - "d" 'tmr-remove - "D" 'tmr-remove-finished - "n" 'tmr - "N" 'tmr-with-details - "e" 'tmr-edit-description - "r" 'tmr-reschedule)) - (use-package which-key :ensure t :defer t @@ -1506,24 +1501,52 @@ Works on the base filename (without extension), e.g. matches \"-task\", \":task: "\\`\\*Async-native-compile-log\\*\\'"))) (use-package markdown-mode - :defer t :ensure t - :mode ("README\\.md\\'" . gfm-mode) - :init - (setq markdown-command "multimarkdown") - :config - (setq markdown-header-scaling t) - (setq markdown-hide-markup t) - (setq markdown-fontify-code-blocks-natively t) + :hook (markdown-mode . nb/markdown-unhighlight) + :init + (setq-default abbrev-mode t) + :config + (defvar nb/current-line '(0 . 0) + "(start . end) of current line in current buffer") + (make-variable-buffer-local 'nb/current-line) + + (defun nb/unhide-current-line (limit) + "Font-lock function" + (let ((start (max (point) (car nb/current-line))) + (end (min limit (cdr nb/current-line)))) + (when (< start end) + (remove-text-properties start end + '(invisible t display "" composition "")) + (goto-char limit) + t))) + + (defun nb/refontify-on-linemove () + "Post-command-hook" + (let* ((start (line-beginning-position)) + (end (line-beginning-position 2)) + (needs-update (not (equal start (car nb/current-line))))) + (setq nb/current-line (cons start end)) + (when needs-update + ;; FIX: Verwende jit-lock-refontify statt font-lock-fontify-block + (jit-lock-refontify start end)))) + + (defun nb/markdown-unhighlight () + "Enable markdown concealling" + (interactive) + (markdown-toggle-markup-hiding 'toggle) + (font-lock-add-keywords nil '((nb/unhide-current-line)) t) + ;; FIX: Stelle sicher dass jit-lock aktiv ist + (jit-lock-register #'font-lock-fontify-region) + (add-hook 'post-command-hook #'nb/refontify-on-linemove nil t)) - (custom-set-faces - '(markdown-header-face-1 ((t (:inherit markdown-header-face :height 1.8 :foreground "#A3BE8C" :weight extra-bold)))) - '(markdown-header-face-2 ((t (:inherit markdown-header-face :height 1.4 :foreground "#EBCB8B" :weight extra-bold)))) - '(markdown-header-face-3 ((t (:inherit markdown-header-face :height 1.2 :foreground "#D08770" :weight extra-bold)))) - '(markdown-header-face-4 ((t (:inherit markdown-header-face :height 1.15 :foreground "#BF616A" :weight extra-bold)))) - '(markdown-header-face-5 ((t (:inherit markdown-header-face :height 1.11 :foreground "#b48ead" :weight extra-bold)))) - '(markdown-header-face-6 ((t (:inherit markdown-header-face :height 1.06 :foreground "#5e81ac" :weight extra-bold)))) - '(markdown-header-delimiter-face ((t (:foreground "#616161" :height 0.9)))))) + :custom-face + (markdown-header-delimiter-face ((t (:foreground "#616161" :height 0.9)))) + (markdown-header-face-1 ((t (:height 1.6 :foreground "#A3BE8C" :weight extra-bold :inherit markdown-header-face)))) + (markdown-header-face-2 ((t (:height 1.4 :foreground "#EBCB8B" :weight extra-bold :inherit markdown-header-face)))) + (markdown-header-face-3 ((t (:height 1.2 :foreground "#D08770" :weight extra-bold :inherit markdown-header-face)))) + (markdown-header-face-4 ((t (:height 1.15 :foreground "#BF616A" :weight bold :inherit markdown-header-face)))) + (markdown-header-face-5 ((t (:height 1.1 :foreground "#b48ead" :weight bold :inherit markdown-header-face)))) + (markdown-header-face-6 ((t (:height 1.05 :foreground "#5e81ac" :weight semi-bold :inherit markdown-header-face))))) ;; (use-package treesit-auto ;; :ensure t @@ -1820,13 +1843,14 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi (global-set-key (kbd "C-c o s") #'my-org-sidecar-left) -;; (use-package visual-fill-column -;; :hook ((text-mode . visual-line-mode) ;; Soft-Wrapping aktivieren -;; (text-mode . visual-fill-column-mode)) ;; Das Zentrieren aktivieren -;; :custom -;; (visual-fill-column-width 110) ;; Maximale Breite des Textes (statt 0.67 relativ) -;; (visual-fill-column-center-text t) ;; Text zentrieren! -;; (visual-fill-column-enable-sensible-window-split t)) +(use-package visual-fill-column + :ensure t + :hook ((text-mode . visual-line-mode) ;; Soft-Wrapping aktivieren + (text-mode . visual-fill-column-mode)) ;; Das Zentrieren aktivieren + :custom + (visual-fill-column-width 110) ;; Maximale Breite des Textes (statt 0.67 relativ) + (visual-fill-column-center-text t) ;; Text zentrieren! + (visual-fill-column-enable-sensible-window-split t)) ;; (use-package diff-hl ;; :defer t @@ -1845,61 +1869,6 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi ;; (unknown . "┆") ;; (ignored . "i")))) -(use-package diff-hl - :defer t - :straight t - :ensure t - :hook - (find-file . (lambda () - (global-diff-hl-mode) ;; Enable Diff-HL mode for all files. - (diff-hl-flydiff-mode) ;; Automatically refresh diffs. - (diff-hl-margin-mode))) ;; Show diff indicators in the margin. - :custom - (diff-hl-side 'left) ;; Set the side for diff indicators. - (diff-hl-margin-symbols-alist '((insert . "┃") ;; Customize symbols for each change type. - (delete . "-") - (change . "┃") - (unknown . "┆") - (ignored . "i")))) - -(use-package hl-todo - :ensure t - :straight (:host github :repo "tarsius/hl-todo") - :config - (global-hl-todo-mode) - (setq hl-todo-keyword-faces - '(("TODO" . "#FF0000") - ("FIXME" . "#FF0000") - ("DEBUG" . "#A020F0") - ("GOTCHA" . "#FF4500") - ("STUB" . "#1E90FF")))) - -(use-package magit - :ensure t - :straight t - :config - (if ek-use-nerd-fonts - (setopt magit-format-file-function #'magit-format-file-nerd-icons)) - :custom - (magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1)) - -(defun my/magit-kill-buffers () - (interactive) - (let ((buffers (magit-mode-get-buffers))) - (magit-restore-window-configuration) - (mapc #'kill-buffer buffers))) - -(setq switch-to-prev-buffer-skip - (lambda (window buffer bury-or-kill) - (string-match-p "\\*magit" (buffer-name buffer)))) - -(use-package conventional-commit - :ensure t - :straight (:host github :repo "akirak/conventional-commit.el") - :after git-commit - :hook - (git-commit-mode . conventional-commit-setup)) - (use-package hl-todo :ensure t :straight (:host github :repo "tarsius/hl-todo") @@ -1931,13 +1900,6 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi (lambda (window buffer bury-or-kill) (string-match-p "\\*magit" (buffer-name buffer)))) -(use-package conventional-commit - :ensure t - :straight (:host github :repo "akirak/conventional-commit.el") - :after git-commit - :hook - (git-commit-mode . conventional-commit-setup)) - (use-package indent-guide :defer t :straight t @@ -2424,7 +2386,7 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi (blink-cursor-mode 0) (setq-default cursor-type 'box) -(defvar cashmere/font-height 180) +(defvar cashmere/font-height 120) (set-face-attribute 'default nil :family "MonoLisa Nerd Font" :weight 'medium :height cashmere/font-height) (set-face-attribute 'fixed-pitch nil :family "RobotoMono Nerd Font" :weight 'regular) @@ -2436,6 +2398,14 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi :hook ((org-mode . mixed-pitch-mode) (LaTeX-mode . mixed-pitch-mode))) +(use-package grip-mode + :ensure t + :config + (setq grip-command 'auto)) ;; auto, grip, go-grip or mdopen + +(use-package ox-gfm + :ensure t) + ;; (use-package catppuccin-theme ;; :ensure t ;; :straight t @@ -2827,11 +2797,11 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi (setq delete-by-moving-to-trash t) (setq dired-mouse-drag-files t)) -(use-package tramp-hlo - :ensure t - :straight (:host github :repo "jsadusk/tramp-hlo") - :config - (tramp-hlo-setup)) +;; (use-package tramp-hlo +;; :ensure t +;; :straight (:host github :repo "jsadusk/tramp-hlo") +;; :config +;; (tramp-hlo-setup)) (add-to-list 'load-path "/home/cashmere/.emacs.d/tramp-rpc/lisp") (require 'tramp-rpc) @@ -2966,6 +2936,7 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi ":" (lambda () (interactive) (execute-extended-command nil)) "d" '(:ignore t :wk "denote") + "dj" '(denote-journal-new-or-existing-entry :wk "journal") "dd" '(denote-menu-list-notes t :wk "List all notes") "dg" '(consult-denote-grep t :wk "Search") "dn" '(denote t :wk "Create a new note") @@ -2974,7 +2945,7 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi "dtt" '(tmr :wk "set timer") "f" '(:ignore t :wk "files") - "fd" '(dired :wk "dired") + "fd" '(dired-jump :wk "dired") "fD" '(dired-jump :wk "dired jump") "fr" '(consult-recent-file :wk "recent files") "ff" '(find-file :wk "find file") @@ -2982,7 +2953,8 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi "b" '(:ignore t :wk "buffer/bookmarks") "bb" '(consult-bookmark :wk "display current bookmarks") - "bi" '(ibuffer :wk "ibuffer") + "bI" '(ibuffer :wk "ibuffer") + "bi" '(projectile-ibuffer :wk "ibuffer project") "bd" '(bookmark-delete :wk "delete bookmark") "bk" '(kill-current-buffer :wk "kill buffer") "bs" '(bookmark-set :wk "save bookmark") @@ -3028,6 +3000,7 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi "w w" '(evil-window-next :wk "Close window") "w c" '(evil-window-delete :wk "Close window") + "w o" '(delete-other-windows :wk "Maximize window") "w n" '(evil-window-new :wk "New window") "w s" '(evil-window-split :wk "Horizontal split window") "w v" '(evil-window-vsplit :wk "Vertical split window") @@ -3139,7 +3112,7 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi :keymaps '(rust-mode-map rust-ts-mode-map) "m" '(:wk "rust mode" :ignore) "mr" '(rust-run :wk "run") - "mc" '(rust-clippy :wk "clippy") + "mc" '(rust-run-clippy :wk "clippy") "mC" '(rust-check :wk "check")) (with-eval-after-load 'denote-menu @@ -3200,7 +3173,6 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi "m" '(mu4e :wk "mail") "p" '(pass :wk "pass") "o" '(my/global-olivetti-mode :wk "center buffer") - "i" '(projectile-ibuffer :wk "ibuffer project") "g" '(:wk "gptel" :ignore) @@ -3388,10 +3360,26 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi (add-hook 'message-send-mail-hook 'mu4e-set-msmtp-account)) -(use-package emacs-everywhere - :ensure t) +(use-package denote-project-notes + :ensure t + :after org + :config + (setq denote-project-notes-identifier '(project stayem))) -(use-package burly +;; (use-package snippy +;; :ensure t +;; :straight +;; (:host github +;; :repo "MiniApollo/snippy.git" +;; :branch "main" +;; :rev :newest) +;; :hook (after-init . global-snippy-minor-mode) +;; :custom +;; (snippy-global-languages '("global")) ;; Recomended +;; :config +;; (snippy-install-or-update-snippets)) ;; Autoupdate git repo + +(use-package emacs-everywhere :ensure t) ;; (profiler-start 'cpu) diff --git a/config.org b/config.org index 02965fe..4ddb561 100644 --- a/config.org +++ b/config.org @@ -250,8 +250,8 @@ (dired-listing-switches "-lah --group-directories-first") (dired-dwim-target t) (dired-guess-shell-alist-user - '(;; ("\\.\\(png\\|jpe?g\\|tiff\\)" "feh" "xdg-open" "open") - ("\\.\\(mp[34]\\|m4a\\|ogg\\|flac\\|webm\\|mkv\\)" "mpv" "xdg-open" "open") + '(;; ("\\\\.\\\\(png\\\\|jpe?g\\\\|tiff\\\\)" "feh" "xdg-open" "open") + ("\\\\.\\\\(mp[34]\\\\|m4a\\\\|ogg\\\\|flac\\\\|webm\\\\|mkv\\\\)" "mpv" "xdg-open" "open") (".*" "open" "xdg-open"))) (dired-kill-when-opening-new-dired-buffer t) (dired-create-destination-dirs 'always) @@ -271,6 +271,13 @@ (lambda () (interactive) (mailcap-view-file (dired-get-filename)))) + + (advice-add 'dired-create-directory :around + (lambda (orig-fun dirname) + (let ((current-buffer (current-buffer))) + (funcall orig-fun dirname) + (with-current-buffer current-buffer + (revert-buffer))))) (when (eq system-type 'darwin) (let ((gls (executable-find "gls"))) @@ -1629,6 +1636,12 @@ Some goodies for better integration with org files. ) #+end_src +** denote-project-notes + +#+begin_src emacs-lisp + +#+end_src + ** denote-explore #+begin_src emacs-lisp @@ -1813,11 +1826,11 @@ Some goodies for better integration with org files. * markdown-mode #+begin_src emacs-lisp -(setq-default abbrev-mode t) - (use-package markdown-mode - :hook - (markdown-mode . nb/markdown-unhighlight) + :ensure t + :hook (markdown-mode . nb/markdown-unhighlight) + :init + (setq-default abbrev-mode t) :config (defvar nb/current-line '(0 . 0) "(start . end) of current line in current buffer") @@ -1840,21 +1853,25 @@ Some goodies for better integration with org files. (needs-update (not (equal start (car nb/current-line))))) (setq nb/current-line (cons start end)) (when needs-update - (font-lock-fontify-block 3)))) + ;; FIX: Verwende jit-lock-refontify statt font-lock-fontify-block + (jit-lock-refontify start end)))) (defun nb/markdown-unhighlight () "Enable markdown concealling" (interactive) (markdown-toggle-markup-hiding 'toggle) (font-lock-add-keywords nil '((nb/unhide-current-line)) t) + ;; FIX: Stelle sicher dass jit-lock aktiv ist + (jit-lock-register #'font-lock-fontify-region) (add-hook 'post-command-hook #'nb/refontify-on-linemove nil t)) + :custom-face (markdown-header-delimiter-face ((t (:foreground "#616161" :height 0.9)))) - (markdown-header-face-1 ((t (:height 1.6 :foreground "#A3BE8C" :weight extra-bold :inherit markdown-header-face)))) - (markdown-header-face-2 ((t (:height 1.4 :foreground "#EBCB8B" :weight extra-bold :inherit markdown-header-face)))) - (markdown-header-face-3 ((t (:height 1.2 :foreground "#D08770" :weight extra-bold :inherit markdown-header-face)))) + (markdown-header-face-1 ((t (:height 1.6 :foreground "#A3BE8C" :weight extra-bold :inherit markdown-header-face)))) + (markdown-header-face-2 ((t (:height 1.4 :foreground "#EBCB8B" :weight extra-bold :inherit markdown-header-face)))) + (markdown-header-face-3 ((t (:height 1.2 :foreground "#D08770" :weight extra-bold :inherit markdown-header-face)))) (markdown-header-face-4 ((t (:height 1.15 :foreground "#BF616A" :weight bold :inherit markdown-header-face)))) - (markdown-header-face-5 ((t (:height 1.1 :foreground "#b48ead" :weight bold :inherit markdown-header-face)))) + (markdown-header-face-5 ((t (:height 1.1 :foreground "#b48ead" :weight bold :inherit markdown-header-face)))) (markdown-header-face-6 ((t (:height 1.05 :foreground "#5e81ac" :weight semi-bold :inherit markdown-header-face))))) #+end_src @@ -3273,6 +3290,26 @@ ily <3. (LaTeX-mode . mixed-pitch-mode))) #+end_src +* essentials + +** grip mode + +** grip mode + +#+begin_src emacs-lisp +(use-package grip-mode + :ensure t + :config + (setq grip-command 'auto)) ;; auto, grip, go-grip or mdopen +#+end_src + +*** org mode grip dispatcher + +#+begin_src emacs-lisp +(use-package ox-gfm + :ensure t) +#+end_src + * themes ** catppuccin-theme @@ -3699,11 +3736,11 @@ ily <3. * tramp-hlo #+begin_src emacs-lisp -(use-package tramp-hlo - :ensure t - :straight (:host github :repo "jsadusk/tramp-hlo") - :config - (tramp-hlo-setup)) +;; (use-package tramp-hlo +;; :ensure t +;; :straight (:host github :repo "jsadusk/tramp-hlo") +;; :config +;; (tramp-hlo-setup)) #+end_src * tramp-rpc @@ -3899,6 +3936,7 @@ ily <3. ":" (lambda () (interactive) (execute-extended-command nil)) "d" '(:ignore t :wk "denote") + "dj" '(denote-journal-new-or-existing-entry :wk "journal") "dd" '(denote-menu-list-notes t :wk "List all notes") "dg" '(consult-denote-grep t :wk "Search") "dn" '(denote t :wk "Create a new note") @@ -3962,6 +4000,7 @@ ily <3. "w w" '(evil-window-next :wk "Close window") "w c" '(evil-window-delete :wk "Close window") + "w o" '(delete-other-windows :wk "Maximize window") "w n" '(evil-window-new :wk "New window") "w s" '(evil-window-split :wk "Horizontal split window") "w v" '(evil-window-vsplit :wk "Vertical split window") @@ -4387,8 +4426,31 @@ ily <3. this package provides the ability to display rgb and hex colors. #+begin_src emacs-lisp -(use-package ct - :ensure t) +(use-package denote-project-notes + :ensure t + :after org + :config + (setq denote-project-notes-identifier '(project stayem))) +#+end_src + +#+RESULTS: +: t + +* snippy + +#+begin_src emacs-lisp +;; (use-package snippy +;; :ensure t +;; :straight +;; (:host github +;; :repo "MiniApollo/snippy.git" +;; :branch "main" +;; :rev :newest) +;; :hook (after-init . global-snippy-minor-mode) +;; :custom +;; (snippy-global-languages '("global")) ;; Recomended +;; :config +;; (snippy-install-or-update-snippets)) ;; Autoupdate git repo #+end_src * emacs-everywhere diff --git a/custom-vars.el b/custom-vars.el deleted file mode 100644 index bf8af17..0000000 --- a/custom-vars.el +++ /dev/null @@ -1,39 +0,0 @@ -;;; -*- lexical-binding: t -*- -(custom-set-variables - ;; custom-set-variables was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(custom-safe-themes - '("d42d93cadd0ebf7eebfc6f73d5825425fd40f6e125a69740909d21554e06ee0a" - "d43860349c9f7a5b96a090ecf5f698ff23a8eb49cd1e5c8a83bb2068f24ea563" - default)) - '(lambda-themes-set-vibrant t) - '(safe-local-variable-values - '((eval setenv "PYTHONPATH" - "/home/cashmere/SurfSense/surfsense_backend") - (eval setenv "VIRTUAL_ENV" - "/home/cashmere/SurfSense/surfsense_backend/.venv") - (python-shell-interpreter - . "/home/cashmere/SurfSense/surfsense_backend/.venv/bin/python") - (python-shell-virtualenv-root - . "/home/cashmere/SurfSense/surfsense_backend/.venv") - (eval progn - (add-to-list 'auto-mode-alist '("\\.html\\'" . jinja2-mode)) - (add-to-list 'auto-mode-alist '("\\.j2\\'" . jinja2-mode))))) - '(zoom-size '(0.382 . 0.618))) -(custom-set-faces - ;; custom-set-faces was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(org-document-title ((t (:height 1.6)))) - '(outline-1 ((t (:height 1.25)))) - '(outline-2 ((t (:height 1.2)))) - '(outline-3 ((t (:height 1.2)))) - '(outline-4 ((t (:height 1.2)))) - '(outline-5 ((t (:height 1.2)))) - '(outline-6 ((t (:height 1.2)))) - '(outline-7 ((t (:height 1.2)))) - '(outline-8 ((t (:height 1.2)))) - '(outline-9 ((t (:height 1.2))))) -- cgit v1.3.1