Compare commits

...

5 Commits

Author SHA1 Message Date
bdaba88536 change plantuml exec from server to executable 2025-07-06 21:43:20 +02:00
ceb98682a6 change org icons 2025-07-06 21:42:20 +02:00
e7e7758e4b add recent files to dashboard 2025-07-06 21:41:41 +02:00
6cb8c01c29 change font settings 2025-07-06 21:41:07 +02:00
efa2d5e78e add autoloads 2025-07-06 21:39:24 +02:00
7 changed files with 230 additions and 63 deletions

View File

@@ -55,25 +55,43 @@ Fallbacks to `user-emacs-directory' if this file is not loaded.")
;; path where settings files are kept
(add-to-list 'load-path (concat config-dir "settings"))
;; add personal elisp lib dir, for manually installed packages
(defun add-to-load-path-with-subdirs (base &optional exclude-list include-list autoloads)
(defun add-to-load-path-with-subdirs (base &optional exclude-list include-list)
"This will add all first level dirs from BASE and exclude the ones in
EXCLUDE-LIST, while for the dirs in INCLUDE-LIST, it will add all the
first level dirs of that dir too.
Example: (add-to-list-with-subdirs \"~/.emacs.d\" '(\".\" \"..\" \"backup\") '(\"vendor\" \"my-lisp\"))"
(add-to-list 'load-path base)
Example: (add-to-load-path-with-subdirs \"~/.emacs.d\" '(\".\" \"..\" \"backup\") '(\"vendor\" \"my-lisp\"))"
(add-to-list 'load-path base t) ;; append so shipped packages are loaded first
(dolist (f (directory-files base))
(let ((name (concat base "/" f)))
(when (and (file-directory-p name)
(not (member f exclude-list)))
(add-to-list 'load-path name)
(when autoloads
(let ((fileal (concat name "/" (file-name-base name) "-autoloads.el"))
(nameal (concat (file-name-base name) "-autoloads")))
(when (file-exists-p fileal)
(require (intern nameal) fileal) )))
(add-to-list 'load-path name t) ;; append so shipped packages are loaded first
(when (member f include-list)
(add-to-load-path-with-subdirs name exclude-list include-list))))))
(add-to-load-path-with-subdirs (concat config-dir "lisp") '("." ".." "0patches") nil t))
(add-to-load-path-with-subdirs (concat config-dir "lisp") '("." ".." "0patches") nil)
;; load autoloads, not combined with function above because we need
;; load-path filled first and then we can load all autoloads, to
;; prevent loading parts from emacs buit-in packages. (for example
;; one custom packages refences to org features but custom org is
;; not yet in the load-path and therefore would load built-in org
;; instead)
(defun load-autoloads (base &optional exclude-list include-list)
"This will load all autoloads from all first level dirs from BASE and
exclude the ones in EXCLUDE-LIST, while for the dirs in INCLUDE-LIST,
it will load all the first level dirs of that dir too.
Example: (load-autoloads \"~/.emacs.d\" '(\".\" \"..\" \"backup\") '(\"vendor\" \"my-lisp\"))"
(dolist (f (directory-files base))
(let ((name (concat base "/" f)))
(when (and (file-directory-p name)
(not (member f exclude-list)))
(let ((fileal (concat name "/" (file-name-base name) "-autoloads.el"))
(nameal (concat (file-name-base name) "-autoloads")))
(when (file-exists-p fileal)
(require (intern nameal) fileal) ))
(when (member f include-list)
(add-to-load-path-with-subdirs-autoloads name exclude-list include-list))))))
(load-autoloads (concat config-dir "lisp") '("." ".." "0patches") nil)
)
;;; Load pre-early-init.el
@@ -440,7 +458,7 @@ startup phase.")
(add-to-list 'initial-frame-alist '(background-color . "#1e1e1e"))
(add-to-list 'initial-frame-alist '(foreground-color . "#b2b2b2"))
(when (display-graphic-p)
(when (featurep 'frame)
;; Custom functions/hooks for persisting/loading frame geometry upon save/load
(defvar my-frame-geometry-file (concat user-cache-directory "frame-geometry.el"))
(defun my-frame-geometry-save ()
@@ -506,6 +524,26 @@ startup phase.")
;;; Load post-early-init.el
;; (load (expand-file-name "post-early-init.el" user-emacs-directory) :no-error :no-message)
;; (setq use-default-font-for-symbols nil)
;; (defvar my-fontset
;; (create-fontset-from-fontset-spec standard-fontset-spec)
;; "Standard fontset for user.")
;; ;;(add-to-list 'default-frame-alist (cons 'font my-fontset))
;; ;;(add-to-list 'initial-frame-alist (cons 'font my-fontset))
;; (set-fontset-font my-fontset 'latin
;; (font-spec :family "NotoSansM Nerd Font Mono")
;; nil 'prepend)
;; (set-fontset-font my-fontset 'unicode
;; (font-spec :family "NotoSansM Nerd Font Mono")
;; nil 'prepend)
;; (dolist (charset '(kana han cjk-misc hangul kanbun bopomofo))
;; (set-fontset-font my-fontset charset
;; (font-spec :family "Noto Sans Mono CJK SC")
;; nil 'prepend))
;; (set-fontset-font my-fontset ?✿ (font-spec :family "Symbols Nerd Font Mono") nil 'prepend)
;; (add-to-list 'default-frame-alist '(font . my-fontset))
(provide 'early-init)

View File

@@ -0,0 +1,83 @@
;;; nerd-icons-autoloads.el --- automatically extracted autoloads (do not edit) -*- lexical-binding: t -*-
;; Generated by the `loaddefs-generate' function.
;; This file is part of GNU Emacs.
;;; Code:
(add-to-list 'load-path (or (and load-file-name (directory-file-name (file-name-directory load-file-name))) (car load-path)))
;;; Generated autoloads from nerd-icons.el
(autoload 'nerd-icons-install-fonts "nerd-icons" "\
Helper function to download and install the latests fonts based on OS.
The provided Nerd Font is Symbols Nerd Font Mono.
When PFX is non-nil, ignore the prompt and just install
(fn &optional PFX)" t)
(autoload 'nerd-icons-insert "nerd-icons" "\
Interactive icon insertion function.
When Prefix ARG is non-nil, insert the propertized icon.
When GLYPH-SET is non-nil, limit the candidates to the icon set matching it.
(fn &optional ARG GLYPH-SET)" t)
(autoload 'nerd-icons-icon-for-dir "nerd-icons" "\
Get the formatted icon for DIR.
ARG-OVERRIDES should be a plist containining `:height',
`:v-adjust' or `:face' properties like in the normal icon
inserting functions.
(fn DIR &rest ARG-OVERRIDES)")
(autoload 'nerd-icons-icon-for-file "nerd-icons" "\
Get the formatted icon for FILE.
ARG-OVERRIDES should be a plist containining `:height',
`:v-adjust' or `:face' properties like in the normal icon
inserting functions.
(fn FILE &rest ARG-OVERRIDES)")
(autoload 'nerd-icons-icon-for-extension "nerd-icons" "\
Get the formatted icon for EXT.
ARG-OVERRIDES should be a plist containining `:height',
`:v-adjust' or `:face' properties like in the normal icon
inserting functions.
(fn EXT &rest ARG-OVERRIDES)")
(autoload 'nerd-icons-icon-for-mode "nerd-icons" "\
Get the formatted icon for MODE.
ARG-OVERRIDES should be a plist containining `:height',
`:v-adjust' or `:face' properties like in the normal icon
inserting functions.
(fn MODE &rest ARG-OVERRIDES)")
(autoload 'nerd-icons-icon-for-url "nerd-icons" "\
Get the formatted icon for URL.
If an icon for URL isn't found in `nerd-icons-url-alist', a globe is used.
ARG-OVERRIDES should be a plist containining `:height',
`:v-adjust' or `:face' properties like in the normal icon
inserting functions.
(fn URL &rest ARG-OVERRIDES)")
(autoload 'nerd-icons-icon-for-buffer "nerd-icons" "\
Get the formatted icon for the current buffer.
This function prioritises the use of the buffers file extension to
discern the icon when its `major-mode' matches its auto mode,
otherwise it will use the buffers `major-mode' to decide its
icon.")
(register-definition-prefixes "nerd-icons" '("nerd-icons-"))
;;; End of scraped data
(provide 'nerd-icons-autoloads)
;; Local Variables:
;; version-control: never
;; no-byte-compile: t
;; no-update-autoloads: t
;; no-native-compile: t
;; coding: utf-8-emacs-unix
;; End:
;;; nerd-icons-autoloads.el ends here

View File

@@ -51,6 +51,7 @@
(package-generate-autoloads "ivy" (concat config-dir "lisp/ivy"))
(package-generate-autoloads "ivy-rich" (concat config-dir "lisp/ivy-rich"))
(package-generate-autoloads "my" (concat config-dir "lisp/my"))
(package-generate-autoloads "nerd-icons" (concat config-dir "lisp/nerd-icons"))
(package-generate-autoloads "olivetti" (concat config-dir "lisp/olivetti"))
;; (package-generate-autoloads "org" (concat config-dir "lisp/org")) ;; already org-loaddefs.el
(package-generate-autoloads "org-appear" (concat config-dir "lisp/org-appear"))

View File

@@ -395,7 +395,7 @@ DISPLAY-START: `integer', e.g. 3820"
dashboard-insert-items
dashboard-insert-newline
dashboard-insert-footer))
(setq dashboard-items '(;; (recents . 10) ;; slow
(setq dashboard-items '((recents . 10) ;; slow
(bookmarks . 5)
;; (projects . 5) ;; projectile or project.el
;; (agenda . 5) ;; will open org file (requires org-mode etc.)

View File

@@ -506,31 +506,37 @@ Suggest the URL title as a description for resource."
;; (?3 . "⮮")
;; (?4 . "☕")
;; (?I . "Important")))
;; 🅰 🅱 🅲 🅳
(setq org-fancy-priorities-list
'((?A . "🅰")
(?B . "🅱")
(?C . "🅲")
(?D . "🅳")))
;; (setq org-priority-faces
;; '((?A :foreground "#df5f5f" :weight bold) ;; "IndianRed1"
;; (?B :foreground "DarkOrange1")
;; (?C :foreground "yellow1")
;; (?D :foreground "green1") ;; DeepSkyBlue1
;; (?1 :foreground "#df5f5f" :weight bold)
;; (?2 :foreground "DarkOrange1")
;; (?3 :foreground "yellow1")
;; (?4 :foreground "green1")
;; (?I :foreground "#df5f5f" :weight bold)))
;; ,(nerd-icons-mdicon "nf-md-alpha_a_box_outline")
;; ,(nerd-icons-mdicon "nf-md-alpha_b_box_outline")
`((?A . ,#("󰯫" 0 1 (face (:family "Symbols Nerd Font Mono" :height 1.0)
font-lock-face (:family "Symbols Nerd Font Mono" :height 1.0)
display (raise 0.10) rear-nonsticky t)))
(?B . ,#("󰯮" 0 1 (face (:family "Symbols Nerd Font Mono" :height 1.0)
font-lock-face (:family "Symbols Nerd Font Mono" :height 1.0)
display (raise 0.10) rear-nonsticky t)))
(?C . ,#("󰯱" 0 1 (face (:family "Symbols Nerd Font Mono" :height 1.0)
font-lock-face (:family "Symbols Nerd Font Mono" :height 1.0)
display (raise 0.10) rear-nonsticky t)))
(?D . ,#("󰯴" 0 1 (face (:family "Symbols Nerd Font Mono" :height 1.0)
font-lock-face (:family "Symbols Nerd Font Mono" :height 1.0)
display (raise 0.10) rear-nonsticky t)))))
;; IndianRed1 DeepSkyBlue1
(setq org-priority-faces
(list (list ?A :foreground "#df5f5f" :height (- (face-attribute 'default :height) 20) :weight 'bold)
(list ?B :foreground "DarkOrange1" :height (- (face-attribute 'default :height) 20) :weight 'bold)
(list ?C :foreground "yellow1" :height (- (face-attribute 'default :height) 20) :weight 'bold)
(list ?D :foreground "green1" :height (- (face-attribute 'default :height) 20) :weight 'bold)
(list ?1 :foreground "#df5f5f" :weight 'bold)
(list ?2 :foreground "DarkOrange1")
(list ?3 :foreground "yellow1")
(list ?4 :foreground "green1")
(list ?I :foreground "#df5f5f" :weight 'bold))))
`((?A :foreground "#df5f5f"
:height ,(- (face-attribute 'default :height) -5))
(?B :foreground "DarkOrange1"
:height ,(- (face-attribute 'default :height) -5))
(?C :foreground "yellow1"
:height ,(- (face-attribute 'default :height) -5))
(?D :foreground "green1"
:height ,(- (face-attribute 'default :height) -5))
(?1 :foreground "#df5f5f" :weight 'bold)
(?2 :foreground "DarkOrange1")
(?3 :foreground "yellow1")
(?4 :foreground "green1")
(?I :foreground "#df5f5f" :weight 'bold))))
(use-package org-fragtog
:hook (org-mode . org-fragtog-mode))
@@ -631,10 +637,9 @@ Suggest the URL title as a description for resource."
(setq org-superstar-leading-bullet " ·") ;; " " " ·" " ⚫" or to hide: ?\s (without quotation marks)
(setq org-superstar-remove-leading-stars nil) ;; to remove the indentation, needs org-superstar-leading-bullet set to ?\s
(setq org-superstar-headline-bullets-list
'(?
?○
?✸
?✿))
'(?󰓎 ?󰓒 ?󰫢 ?󰫣 ?󰫤 ?󰫥)) ;; '(?󰄯 ?󰄰 ?󰻂 ?󰻃 ?󰓏 ?󰦤 ? ?󰺕)
;; '(?◉ ?○ ?✸ ?✿) 󰄯 󰄰 󰘻 󰘼 󰺕 󰬸 󰚕 󰻂 󰻃    󰓏 󰦤    󰐗 󰐙
;; 󰓎 󰓒 󰫢 󰫣 󰫤 󰫥
;; (setq org-superstar-leading-bullet ?\s)
;; (setq org-superstar-leading-bullet "\u200b")
;; (setq org-superstar-headline-bullets-list '(?\s))
@@ -648,11 +653,11 @@ Suggest the URL title as a description for resource."
(?+ . ?➤)
(?- . ?)))
(setq org-superstar-special-todo-items t) ;; using symbols defined in org-superstar-todo-bullet-alist
(setq org-superstar-todo-bullet-alist ;; ☐ ☑
'(("TODO" . ?☐)
("WAIT" . ?)
("DONE" . ?)
("CANC" . ?)))
(setq org-superstar-todo-bullet-alist ;; ☐ ☑
'(("TODO" ?󰀼 ?☐) ;;              󰀼 󱝋 󱝍 󱝏
("WAIT" . ?󱝏)
("DONE" . ?󱝍)
("CANC" . ?󱝋)))
(set-face-attribute 'org-superstar-leading nil :foreground "#42444a")) ;; "#42444a"

View File

@@ -37,6 +37,7 @@
(add-to-list 'org-src-lang-modes '("plantuml" . plantuml)))
:config
;; arch linux aur package path
(setq plantuml-deafult-exec-mode 'executable) ;; 'jar uses `plantuml-jar-path', 'executable uses `plantuml-executable-path'
(setq plantuml-jar-path "/usr/share/java/plantuml/plantuml.jar")
(setq org-plantuml-jar-path "/usr/share/java/plantuml/plantuml.jar")
(with-eval-after-load 'org

View File

@@ -16,6 +16,10 @@
(load-theme 'spacemacs-dark t)
(load-theme 'my t))
(use-package my-tool-bar
:config
(my-tool-bar-mode 1))
;; Test char and monospace:
;; 1234567890abcdefghijklmnopqrstuvwxyz [] () :;,. !@#$^&*
;; 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ {} <> "'` ~-_/|\?
@@ -33,8 +37,9 @@
;; 🅰🅱🅲🅳🅴🅵🅶🅷🅸🅹🅺🅻🅼🅽🅾🅿🆀🆁🆂🆃🆄🆅🆆🆇🆈🆉 🆊 NEGATIVE SQUARED LATIN CAPITAL LETTER X
;; 𝓪𝓫𝓬𝓭𝓮𝓯𝓰𝓱𝓲𝓳𝓴𝓵𝓶𝓷𝓸𝓹𝓺𝓻𝓼𝓽𝓾𝓿𝔀𝔁𝔂𝔃 MATHEMATICAL BOLD SCRIPT SMALL X
;; 𝓐𝓑𝓒𝓓𝓔𝓕𝓖𝓗𝓘𝓙𝓚𝓛𝓜𝓝𝓞𝓟𝓠𝓡𝓢𝓣𝓤𝓥𝓦𝓧𝓨𝓩 MATHEMATICAL BOLD SCRIPT CAPITAL X
;; ✈↵#↹⏎⇤⇥␣↑↓←→ ☐☑
;; ✈↵#↹⏎⇤⇥␣↑↓←→ ☐☑ ⃝⃞⃟⃠ ⦾⦿⧇⧈
;; :rage::hamburger:
;; ◉○✸✿ 
;; box drawing alignment tests: █
;; ▉
;; ╔══╦══╗ ┌──┬──┐ ╭──┬──╮ ╭──┬──╮ ┏━━┳━━┓ ┎┒┏┑ ╷ ╻ ┏┯┓ ┌┰┐ ▊ ╱╲╱╲╳╳╳
@@ -46,24 +51,58 @@
;; ╚══╩══╝ └──┴──┘ ╰──┴──╯ ╰──┴──╯ ┗━━┻━━┛ └╌╌┘ ╎ ┗╍╍┛ ┋ ▁▂▃▄▅▆▇█
;; see M-x describe-char
;; (set-frame-font "DejaVu Sans Mono-10")
;; (set-frame-font "DejaVu Sans Mono:pixelsize=13")
;; (set-frame-font (font-spec :name "DejaVu Sans Mono" :size 13))
(cond
((find-font (font-spec :name "Source Code Pro medium"))
(set-frame-font (font-spec :name "Source Code Pro medium" :size 13)))
((find-font (font-spec :name "DejaVu Sans Mono"))
(set-frame-font (font-spec :name "DejaVu Sans Mono" :size 13)))
((find-font (font-spec :name "Noto Sans Mono")) ;; parentheses moving
(set-frame-font (font-spec :name "Noto Sans Mono" :size 13)))
((find-font (font-spec :name "Source Han Mono"))
(set-frame-font (font-spec :name "Source Han Mono" :size 12)))
((find-font (font-spec :name "inconsolata"))
(set-frame-font (font-spec :name "inconsolata" :size 16)))
((find-font (font-spec :name "Lucida Console"))
(set-frame-font "Lucida Console-10"))
((find-font (font-spec :name "courier")) ;; is breathing if underline is displayed dynamically
(set-frame-font (font-spec :name "courier" :size 14))))
(set-face-font 'default (font-spec :family "FiraCode Nerd Font" :size 13))
;; (set-fontset-font FONTSET CHARACTERS FONT-SPEC &optional FRAME ADD)
;; CHARACTERS see `script-representative-chars' and
;; list-character-sets and list-charset-chars for the list of
;; character sets and their characters.
;; (list-charset-chars 'unicode-bmp)
;; defind by all the icons?
;; (set-fontset-font t '(#x2600 . #x27bf) (font-spec :family "D2CodingLigature Nerd Font"))
;; (set-fontset-font t '(#xe000 . #xeea0) (font-spec :family "icons-in-terminal") nil 'prepend)
;; '(#xeea1 . #xf1ff) "FiraCode Nerd Font"
;; (set-fontset-font t '(#xf200 . #xf3ff) (font-spec :family "Font Awesome 6 Free")) ;; #xf3xx wild mix
;; (set-fontset-font t '(#xf400 . #xfd46) (font-spec :family "MesloLGS NF"))
;; (setq use-default-font-for-symbols t)
;; (setq use-default-font-for-symbols nil) ;; t use default face, nil use fontset
;; see `fontset-alias-alist'
;; (fontset-name-p "fontset-default")
;; (fontset-name-p "fontset-standard")
;; (cond
;; ((find-font (font-spec :name "Iosevka Nerd Font"))
;; (set-frame-font (font-spec :name "Iosevka Nerd Font" :size 13)))
;; ((find-font (font-spec :name "Source Code Pro medium"))
;; (set-frame-font (font-spec :name "Source Code Pro medium" :size 13)))
;; ((find-font (font-spec :name "DejaVu Sans Mono"))
;; (set-frame-font (font-spec :name "DejaVu Sans Mono" :size 13)))
;; ((find-font (font-spec :name "Noto Sans Mono")) ;; parentheses moving
;; (set-frame-font (font-spec :name "Noto Sans Mono" :size 13)))
;; ((find-font (font-spec :name "Source Han Mono"))
;; (set-frame-font (font-spec :name "Source Han Mono" :size 12)))
;; ((find-font (font-spec :name "inconsolata"))
;; (set-frame-font (font-spec :name "inconsolata" :size 16)))
;; ((find-font (font-spec :name "Lucida Console"))
;; (set-frame-font "Lucida Console-10"))
;; ((find-font (font-spec :name "courier")) ;; is breathing if underline is displayed dynamically
;; (set-frame-font (font-spec :name "courier" :size 14))))
(use-package nerd-icons
:defer t
;; example usage
;; - Inserts an icon for Emacs Lisp
;; (insert (nerd-icons-icon-for-file "init.el"))
;; - Inserts a Gitlab icon
;; (insert (nerd-icons-faicon "nf-fa-gitlab"))
;; :config
;; The Nerd Font you want to use in GUI
;; "Symbols Nerd Font Mono" is the default and is recommended
;; but you can use any other Nerd Font if you want
;; (setq nerd-icons-font-family "Symbols Nerd Font Mono")
;; (nerd-icons-set-font)
)
(use-package emojify
:if window-system