refactor: refine Windows support and convert use-package :if to conditionals

This commit is contained in:
2026-06-13 08:25:44 +08:00
parent 5c7391dcf8
commit e3dda7fd65
8 changed files with 95 additions and 95 deletions

View File

@@ -42,9 +42,8 @@
(server-mode 1))))) (server-mode 1)))))
;; recentf最近打开的文件 ;; recentf最近打开的文件
(use-package recentf (if (or (display-graphic-p) *is-android*)
:if (use-package recentf
(or (display-graphic-p) *is-android*)
:hook :hook
(after-init . recentf-mode) (after-init . recentf-mode)
:init :init
@@ -55,7 +54,7 @@
(add-to-list 'recentf-exclude "~/org/my-org-note/journal/.*\\.org\\'") (add-to-list 'recentf-exclude "~/org/my-org-note/journal/.*\\.org\\'")
(add-to-list 'recentf-exclude "~/org/my-org-note/20260509T232442==agenda--all-my-todos__org\\.org")) (add-to-list 'recentf-exclude "~/org/my-org-note/20260509T232442==agenda--all-my-todos__org\\.org"))
(add-to-list 'recentf-exclude "~/.emacs.d/emms/history") (add-to-list 'recentf-exclude "~/.emacs.d/emms/history")
(add-to-list 'recentf-exclude "~/.emacs.d/bookmarks")) (add-to-list 'recentf-exclude "~/.emacs.d/bookmarks")))
;; savehist保存命令顺序 ;; savehist保存命令顺序
(use-package savehist (use-package savehist
@@ -81,14 +80,13 @@
(use-package restart-emacs) (use-package restart-emacs)
;; async ;; async
(if *is-android*
(use-package async (use-package async
:if
(not *is-android*)
:hook :hook
(after-init . dired-async-mode) (after-init . dired-async-mode)
(after-init . async-bytecomp-package-mode) (after-init . async-bytecomp-package-mode)
:init :init
(setq async-bytecomp-allowed-packages '(all))) (setq async-bytecomp-allowed-packages '(all))))
;; autorevert buffer ;; autorevert buffer
(use-package autorevert (use-package autorevert

View File

@@ -166,11 +166,11 @@ targets."
(:map corfu-map (:map corfu-map
("RET" . nil))) ("RET" . nil)))
(use-package corfu-terminal (if (not (and (display-graphic-p)
:if (not (and (display-graphic-p)
(>= emacs-major-version 31))) (>= emacs-major-version 31)))
(use-package corfu-terminal
:hook :hook
(after-init . corfu-terminal-mode)) (after-init . corfu-terminal-mode)))
(use-package emacs (use-package emacs
:custom :custom

View File

@@ -73,7 +73,7 @@
:init :init
(if *is-android* (add-hook 'after-init-hook 'god-mode-all)) (if *is-android* (add-hook 'after-init-hook 'god-mode-all))
:config :config
(unless *is-android* (which-key-enable-god-mode-support)) (unless (or *is-android* (not use-package-always-defer)) (which-key-enable-god-mode-support))
(setq god-mode-enable-function-key-translation nil (setq god-mode-enable-function-key-translation nil
god-exempt-major-modes god-exempt-major-modes
(cl-union '(diff-mode exwm-mode) god-exempt-major-modes :test 'equal) (cl-union '(diff-mode exwm-mode) god-exempt-major-modes :test 'equal)

View File

@@ -32,7 +32,7 @@
;; (straight-use-package 'use-package) ;; (straight-use-package 'use-package)
;; 配置 use-package ;; 配置 use-package
(setq use-package-always-defer t (setq use-package-always-defer (if *is-windows* nil t)
use-package-expand-minimally t use-package-expand-minimally t
use-package-verbose t use-package-verbose t
straight-use-package-version t straight-use-package-version t

View File

@@ -8,11 +8,16 @@
:hook :hook
(org-mode . org-indent-mode) (org-mode . org-indent-mode)
(org-mode . visual-line-mode) (org-mode . visual-line-mode)
(org-mode . jinx-mode)
(org-mode . my-org-electric-pair-fix) (org-mode . my-org-electric-pair-fix)
(org-mode . electric-pair-local-mode) (org-mode . electric-pair-local-mode)
:config :config
(if *is-windows*
(add-hook 'org-mode-hook 'font-lock-update))
(unless *is-windows*
(add-hook 'org-mode 'jinx-mode))
(defun my-org-electric-pair-fix () (defun my-org-electric-pair-fix ()
(setq-local electric-pair-inhibit-predicate (setq-local electric-pair-inhibit-predicate
(lambda (char) (lambda (char)
@@ -71,9 +76,13 @@
(after-init . denote-rename-buffer-mode) (after-init . denote-rename-buffer-mode)
(dired-mode . denote-dired-mode) (dired-mode . denote-dired-mode)
:config :config
(if *is-android* (cond
(setq denote-directory "~/storage/shared/my-org-note/") (*is-android*
(setq denote-directory "~/org/my-org-note/")) (setq denote-directory "~/storage/shared/my-org-note/"))
(*is-windows*
(setq denote-directory "H:/emacs/my-org-note/"))
(t
(setq denote-directory "~/org/my-org-note/")))
(setq denote-prompts '(title signature keywords)) (setq denote-prompts '(title signature keywords))
(setq denote-title-history nil) (setq denote-title-history nil)
(setq denote-signature-history (setq denote-signature-history

View File

@@ -5,7 +5,8 @@
;;; Code: ;;; Code:
;; keycast按键广播 ;; keycast按键广播
(use-package keycast) (if use-package-always-defer
(use-package keycast))
;; anzu显示isearch匹配数字 ;; anzu显示isearch匹配数字
(use-package anzu (use-package anzu
@@ -35,9 +36,8 @@
(?v "Variables" font-lock-variable-name-face))))))) (?v "Variables" font-lock-variable-name-face)))))))
;; jinx拼写检查 ;; jinx拼写检查
(use-package jinx (unless *is-windows*
:if (use-package jinx
(not *is-windows*)
:delight :delight
(jinx-mode " Jinx" jinx) (jinx-mode " Jinx" jinx)
:bind :bind
@@ -56,17 +56,14 @@
(dotimes (i (- end start)) (dotimes (i (- end start))
(modify-syntax-entry (+ start i) "_" jinx--syntax-table)))))) (modify-syntax-entry (+ start i) "_" jinx--syntax-table))))))
(use-package consult-jinx (use-package consult-jinx
:if
(not *is-windows*)
:after jinx :after jinx
:demand t :demand t
:straight nil) :straight nil))
;; eat终端 ;; eat终端
(use-package eat (unless *is-windows*
:if (use-package eat
(not *is-windows*)
:straight :straight
(eat :type git (eat :type git
:host codeberg :host codeberg
@@ -83,7 +80,7 @@
((eshell-load . eat-eshell-mode) ((eshell-load . eat-eshell-mode)
(eshell-load . eat-eshell-visual-command-mode)) (eshell-load . eat-eshell-visual-command-mode))
:config :config
(setq eat-term-terminfo-directory eat--terminfo-path)) (setq eat-term-terminfo-directory eat--terminfo-path)))
;; perspective工作区管理 ;; perspective工作区管理
(use-package perspective (use-package perspective

View File

@@ -20,8 +20,6 @@
(after-init . benchmark-init/deactivate)) (after-init . benchmark-init/deactivate))
(use-package recentf (use-package recentf
:if
(or (display-graphic-p) *is-android*)
:hook :hook
(after-init . recentf-mode) (after-init . recentf-mode)
:init :init

View File

@@ -63,11 +63,10 @@
(use-package naysayer-theme) (use-package naysayer-theme)
(use-package ef-themes) (use-package ef-themes)
(use-package simple-modeline (if *is-android*
:if (use-package simple-modeline
*is-android*
:hook :hook
(after-init . simple-modeline-mode)) (after-init . simple-modeline-mode)))
;; eshell高亮 ;; eshell高亮
(use-package eshell-syntax-highlighting (use-package eshell-syntax-highlighting
@@ -101,9 +100,8 @@
(after-init . global-hl-line-mode)) (after-init . global-hl-line-mode))
;; 显示时间 ;; 显示时间
(use-package time (unless *is-android*
:if (use-package time
(not *is-android*)
:hook :hook
(persp-mode . display-time-mode) (persp-mode . display-time-mode)
:config :config
@@ -113,7 +111,7 @@
(concat (concat
(propertize (format-time-string " %I:%M") 'face 'display-time-date-and-time) (propertize (format-time-string " %I:%M") 'face 'display-time-date-and-time)
(propertize (format-time-string "-%p") 'face 'font-lock-comment-face)) (propertize (format-time-string "-%p") 'face 'font-lock-comment-face))
'help-echo (format-time-string "%A, %B %d, %Y"))))) 'help-echo (format-time-string "%A, %B %d, %Y"))))))
;; 安装cnfonts脚本用于修复中英文对齐 ;; 安装cnfonts脚本用于修复中英文对齐
(use-package cnfonts (use-package cnfonts