Compare commits

..

5 Commits

Author SHA1 Message Date
Zelong Kuang
955e6174cc Change back to project.el (faster in tramp) 2026-04-11 18:17:11 +10:00
Zelong Kuang
4a0416dd54 Use my mirror 2026-04-11 17:21:50 +10:00
Zelong Kuang
39346aca6a Stable v1 2026-04-11 16:38:46 +10:00
Zelong Kuang
4a779a480c Update 2026-04-11 00:00:04 +10:00
Zelong Kuang
7fb855f332 replace moodline with Doom modeline 2026-04-10 23:59:41 +10:00
15 changed files with 104 additions and 168 deletions

View File

@@ -42,7 +42,7 @@
inhibit-startup-screen t inhibit-startup-screen t
inhibit-startup-echo-area-message user-login-name inhibit-startup-echo-area-message user-login-name
inhibit-default-init t inhibit-default-init t
;; initial-major-mode 'l-mode initial-major-mode 'text-mode
initial-scratch-message nil) initial-scratch-message nil)
;; Faster to disable these here (before they've been initialized) ;; Faster to disable these here (before they've been initialized)

View File

@@ -30,7 +30,7 @@
(require 'init-bindings) (require 'init-bindings)
(require 'init-dired) (require 'init-dired)
;; (require 'init-dashboard) ;; not working ;; (require 'init-dashboard)
(require 'init-window) (require 'init-window)
(require 'init-shell) (require 'init-shell)
;; (require 'init-treemacs) ;; not working ;; (require 'init-treemacs) ;; not working
@@ -54,7 +54,6 @@
(require 'init-org) (require 'init-org)
(require 'init-tex) (require 'init-tex)
;; (require 'init-markdown)
(require 'init-cc) (require 'init-cc)
(require 'init-python) (require 'init-python)
(require 'init-haskell) (require 'init-haskell)

View File

@@ -176,12 +176,12 @@ If this is a daemon session, load them all immediately instead."
(setq make-backup-files nil) (setq make-backup-files nil)
(setq use-short-answers t) (setq use-short-answers t)
(setq frame-title-format (setq frame-title-format
'((:eval (if (and (boundp 'projectile-mode) '((:eval
projectile-mode (let* ((proj (project-current nil))
(projectile-project-p)) (pname (and proj (project-name proj))))
(format "[%s] %s" (projectile-project-name) (buffer-name)) ;; Add project name in front when avaliable (if pname
"%b")))) ;; Otherwise buffer name only (format "[%s] %s" pname (buffer-name))
(setq custom-safe-themes t) (buffer-name)))))) ;; Otherwise buffer name only
(add-to-list 'default-frame-alist '(drag-internal-border . 1)) (add-to-list 'default-frame-alist '(drag-internal-border . 1))
(add-to-list 'default-frame-alist '(internal-border-width . 5)) (add-to-list 'default-frame-alist '(internal-border-width . 5))
@@ -271,7 +271,6 @@ If this is a daemon session, load them all immediately instead."
(use-package tramp-rpc (use-package tramp-rpc
:ensure (tramp-rpc :host github :repo "ArthurHeymans/emacs-tramp-rpc") :ensure (tramp-rpc :host github :repo "ArthurHeymans/emacs-tramp-rpc")
:config :config
(tramp-rpc-magit-enable) (tramp-rpc-magit-enable))
(tramp-rpc-projectile-enable))
(provide 'init-better-default) (provide 'init-better-default)

View File

@@ -1,6 +1,7 @@
;; -*- lexical-binding: t; -*- ;; -*- lexical-binding: t; -*-
(use-package flycheck (use-package flycheck
:diminish
:hook (emacs-startup . global-flycheck-mode) :hook (emacs-startup . global-flycheck-mode)
:config :config
(setq flycheck-emacs-lisp-load-path 'inherit) (setq flycheck-emacs-lisp-load-path 'inherit)

View File

@@ -1,41 +1,49 @@
;; -*- lexical-binding: t; -*- ;; -*- lexical-binding: t; -*-
(use-package dashboard (use-package dashboard :demand t)
:init
(use-package doom-dashboard (use-package doom-dashboard
:ensure (doom-dashboard :host github ;; For Straight Users
:repo "emacs-dashboard/doom-dashboard") :ensure (doom-dashboard :host github
:demand t :repo "emacs-dashboard/doom-dashboard")
;; Movement keys like doom. ;; Or for built-in package-vc
:bind ;; :vc (:url "https://github.com/emacs-dashboard/doom-dashboard.git" :rev :newest)
(:map dashboard-mode-map ;; :after dashboard
("<remap> <dashboard-previous-line>" . widget-backward) :demand t
("<remap> <dashboard-next-line>" . widget-forward) ;; :hook (elpaca-after-init . dashboard-setup-startup-hook)
("<remap> <previous-line>" . widget-backward) ;; Movement keys like doom.
("<remap> <next-line>" . widget-forward) :bind
("<remap> <right-char>" . widget-forward) (:map dashboard-mode-map
("<remap> <left-char>" . widget-backward)) ("<remap> <dashboard-previous-line>" . widget-backward)
:custom ("<remap> <dashboard-next-line>" . widget-forward)
(dashboard-banner-logo-title "E M A C S") ("<remap> <previous-line>" . widget-backward)
(dashboard-startup-banner ("<remap> <next-line>" . widget-forward)
(concat doom-dashboard-banner-directory "bcc.txt")) ; Use banner you want ("<remap> <right-char>" . widget-forward)
(dashboard-footer-icon ("<remap> <left-char>" . widget-backward))
(nerd-icons-faicon "nf-fa-github_alt" :face 'success :height 1.5)) :custom
(dashboard-page-separator "\n") (dashboard-banner-logo-title "E M A C S")
(dashboard-startupify-list `(dashboard-insert-banner ;; (dashboard-startup-banner
dashboard-insert-banner-title ;; (concat doom-dashboard-banner-directory "bcc.txt")) ; Use banner you want
dashboard-insert-newline ;; (dashboard-footer-icon
dashboard-insert-items ;; (nerd-icons-faicon "nf-fa-github_alt" :face 'success :height 1.5))
,(dashboard-insert-newline 2) (dashboard-page-separator "\n")
dashboard-insert-init-info (dashboard-startupify-list `(dashboard-insert-banner
,(dashboard-insert-newline 2) dashboard-insert-banner-title
doom-dashboard-insert-homepage-footer)) dashboard-insert-newline
(dashboard-item-generators dashboard-insert-items
'((recents . doom-dashboard-insert-recents-shortmenu) ,(dashboard-insert-newline 2)
(bookmarks . doom-dashboard-insert-bookmark-shortmenu) dashboard-insert-init-info
(projects . doom-dashboard-insert-project-shortmenu) ,(dashboard-insert-newline 2)
(agenda . doom-dashboard-insert-org-agenda-shortmenu))) doom-dashboard-insert-homepage-footer))
(dashboard-items '(projects agenda bookmarks recents))) (dashboard-item-generators
) '((recents . doom-dashboard-insert-recents-shortmenu)
(bookmarks . doom-dashboard-insert-bookmark-shortmenu)
(projects . doom-dashboard-insert-project-shortmenu)
(agenda . doom-dashboard-insert-org-agenda-shortmenu)))
;; (dashboard-items '(projects agenda bookmarks recents)))
(dashboard-items '(projects bookmarks recents)))
;; Why doom
(provide 'init-dashboard) (provide 'init-dashboard)

View File

@@ -20,9 +20,20 @@
:custom :custom
(puni-confirm-when-delete-unbalanced-active-region nil) (puni-confirm-when-delete-unbalanced-active-region nil)
:bind (:map puni-mode-map :bind (:map puni-mode-map
("M-r" . puni-raise)
("M-s" . puni-splice) ("M-s" . puni-splice)
("M-S" . puni-split)
("DEL" . my-backspace) ("DEL" . my-backspace)
("C-=" . puni-expand-region) ("C-=" . puni-expand-region)
("M-[" . puni-slurp-backward)
("M-]" . puni-slurp-forward)
("M-<left>" . puni-slurp-backward)
("M-<right>" . puni-slurp-forward)
("C-M-[" . puni-barf-backward)
("C-M-]" . puni-barf-forward)
("C-M-<left>" . puni-barf-backward)
("C-M-<right>" . puni-barf-forward)
([remap backward-kill-word] . puni-backward-kill-word)
) )
:init :init
(defun my-backspace () (defun my-backspace ()

View File

@@ -5,7 +5,7 @@
:bind (("C-c l s" . gptel-send) :bind (("C-c l s" . gptel-send)
("C-c l m" . gptel-menu)) ("C-c l m" . gptel-menu))
:config :config
(setq gptel-model 'gpt-5.2-codex) (setq gptel-model 'gpt-5.2)
(setq gptel-backend (gptel-make-gh-copilot "Copilot")) (setq gptel-backend (gptel-make-gh-copilot "Copilot"))
(setq gptel-default-mode #'org-mode) (setq gptel-default-mode #'org-mode)
(setq gptel-display-buffer-action nil) ; if user changes this, popup manager will bow out (setq gptel-display-buffer-action nil) ; if user changes this, popup manager will bow out

View File

@@ -1,9 +1,5 @@
;; -*- lexical-binding: t; -*- ;; -*- lexical-binding: t; -*-
;; LSP booster
(use-package lsp-mode (use-package lsp-mode
:diminish :diminish
:defines (lsp-diagnostics-disabled-modes lsp-clients-python-library-directories) :defines (lsp-diagnostics-disabled-modes lsp-clients-python-library-directories)

View File

@@ -2,7 +2,7 @@
(use-package org (use-package org
:defer :defer
:ensure (org :repo "https://code.tecosaur.net/tec/org-mode.git/" :ensure (org :repo "https://code.200568.top/mirrors/org-mode.git/"
:branch "dev") :branch "dev")
:hook ((org-mode . org-cdlatex-mode) :hook ((org-mode . org-cdlatex-mode)
(org-mode . org-indent-mode) (org-mode . org-indent-mode)

View File

@@ -17,8 +17,8 @@
yas-maybe-expand-abbrev-key-filter) yas-maybe-expand-abbrev-key-filter)
:init :init
(defvar yas-verbosity 2) (defvar yas-verbosity 2)
:config ;; :config
(elemacs-load-packages-incrementally '(eldoc easymenu help-mode)) ;; (elemacs-load-packages-incrementally '(eldoc easymenu help-mode))
(use-package warnings (use-package warnings
:ensure nil :ensure nil
:config :config

View File

@@ -1,60 +0,0 @@
;; -*- lexical-binding: t; -*-
(use-package treemacs
:custom-face
(cfrs-border-color ((t (:inherit posframe-border))))
:init
(with-eval-after-load 'winum
(define-key winum-keymap (kbd "M-0") #'treemacs-select-window))
:config
(pcase (cons (not (null (executable-find "git")))
(not (null (executable-find "python3"))))
(`(t . t)
(treemacs-git-mode 'deferred))
(`(t . _)
(treemacs-git-mode 'simple)))
(setq treemacs-collapse-dirs (if treemacs-python-executable 3 0)
treemacs-missing-project-action 'remove
treemacs-user-mode-line-format 'none
treemacs-sorting 'alphabetic-asc
treemacs-follow-elpaca-after-init t
treemacs-width 30
treemacs-show-hidden-files nil
treemacs-silent-refresh t
treemacs-no-png-images 1)
:bind
(:map global-map
("M-0" . treemacs-select-window)
("C-x t 1" . treemacs-delete-other-windows)
("C-c o p" . treemacs)
("C-x t d" . treemacs-select-directory)
("C-x t B" . treemacs-bookmark)
("C-x t C-t" . treemacs-find-file)
("C-x t M-t" . treemacs-find-tag)))
(use-package treemacs-magit
:hook ((magit-post-commit
git-commit-post-finish
magit-post-stage
magit-post-unstage)
. treemacs-magit--schedule-update))
(use-package treemacs-tab-bar ;;treemacs-tab-bar if you use tab-bar-mode
:after (treemacs)
:ensure t
:config (treemacs-set-scope-type 'Tabs))
(use-package treemacs-nerd-icons
:demand t
:config (treemacs-nerd-icons-config))
(use-package treemacs-persp
:after (treemacs persp-mode)
:demand t
:functions treemacs-set-scope-type
:config (treemacs-set-scope-type 'Perspectives))
(use-package treemacs-projectile
:after (treemacs projectile-mode))
(provide 'init-treemacs)

View File

@@ -61,6 +61,7 @@
(use-package auto-dark (use-package auto-dark
:when (and (eq system-type 'darwin) (display-graphic-p)) :when (and (eq system-type 'darwin) (display-graphic-p))
:diminish
:ensure t :ensure t
;; :custom ;; :custom
;; (auto-dark-themes '((doric-beach) (leuven))) ;; (auto-dark-themes '((doric-beach) (leuven)))
@@ -83,30 +84,36 @@
(use-package rainbow-delimiters (use-package rainbow-delimiters
:diminish
:hook ((prog-mode . rainbow-delimiters-mode) :hook ((prog-mode . rainbow-delimiters-mode)
(typst-ts-mode . rainbow-delimiters-mode) (typst-ts-mode . rainbow-delimiters-mode)
(python-ts-mode . rainbow-delimiters-mode))) (python-ts-mode . rainbow-delimiters-mode)))
(use-package rainbow-mode (use-package rainbow-mode
:diminish
:hook text-mode :hook text-mode
:hook prog-mode) :hook prog-mode)
(use-package mood-line ;; (use-package mood-line
:hook emacs-startup ;; :hook emacs-startup
:custom (mood-line-glyph-alist mood-line-glyphs-fira-code)) ;; :custom (mood-line-glyph-alist mood-line-glyphs-fira-code))
;; (use-package doom-modeline (use-package doom-modeline
;; :hook (elpaca-after-init . doom-modeline-mode) :hook (elpaca-after-init . doom-modeline-mode)
;; :config :config
;; (setq doom-modeline-support-imenu t (setq doom-modeline-support-imenu t
;; doom-modeline-icons nil ;; doom-modeline-icons nil
;; doom-modeline-height 30 doom-modeline-height 30
;; doom-modeline-buffer-file-name-style 'relative-from-project doom-modeline-buffer-file-name-style 'relative-from-project
;; doom-modeline-enable-word-count t doom-modeline-enable-word-count t
;; ;; doom-modeline-project-name t ;; doom-modeline-project-name t
;; doom-modeline-check 'simple doom-modeline-check 'simple
;; doom-modeline-buffer-encoding nil doom-modeline-minor-modes t
;; doom-modeline-major-mode-icon nil)) doom-modeline-buffer-encoding nil
doom-modeline-major-mode-icon nil))
(use-package minions
:hook elpaca-after-init)
(use-package hide-mode-line (use-package hide-mode-line
:autoload turn-off-hide-mode-line-mode :autoload turn-off-hide-mode-line-mode

View File

@@ -30,19 +30,6 @@
(which-key-add-key-based-replacements "C-x t" "tabs") (which-key-add-key-based-replacements "C-x t" "tabs")
(which-key-add-key-based-replacements "C-x v" "version control")) (which-key-add-key-based-replacements "C-x v" "version control"))
;; (use-package grep
;; :ensure nil
;; :autoload grep-apply-setting
;; :init
;; (grep-apply-setting
;; 'grep-command "rg --color=auto --null -nH --no-heading -e ")
;; (grep-apply-setting
;; 'grep-template "rg --color=auto --null --no-heading -g '!*/' -e <R> <D>")
;; (grep-apply-setting
;; 'grep-find-command '("rg --color=auto --null -nH --no-heading -e ''" . 38))
;; (grep-apply-setting
;; 'grep-find-template "rg --color=auto --null -nH --no-heading -e <R> <D>"))
;; Writable grep buffer ;; Writable grep buffer
(use-package wgrep (use-package wgrep
:init (setq wgrep-auto-save-buffer t :init (setq wgrep-auto-save-buffer t
@@ -61,14 +48,6 @@
(rg-enable-default-bindings) (rg-enable-default-bindings)
) )
;; (use-package sudo-edit
;; :commands sudo-edit sudo-edit-find-file
;; :bind ("C-c C-r" . sudo-edit))
;; (use-package keycast
;; :hook (elpaca-after-init . keycast-mode-line-mode)
;; :config
;; (setq keycast-mode-line-remove-tail-elements nil))
(use-package elcord) (use-package elcord)

View File

@@ -1,14 +1,7 @@
;; -*- lexical-binding: t; -*- ;; -*- lexical-binding: t; -*-
;; (use-package project) (use-package project)
(use-package projectile
:hook elpaca-after-init
:config
;; Recommended keymap prefix on macOS
(define-key projectile-mode-map (kbd "s-p") 'projectile-command-map)
;; Recommended keymap prefix on Windows/Linux
(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map))
(use-package ibuffer (use-package ibuffer
:ensure nil :ensure nil
@@ -22,20 +15,22 @@
(use-package nerd-icons-ibuffer (use-package nerd-icons-ibuffer
:ensure t :ensure t
:hook (ibuffer-mode-hook . nerd-icons-ibuffer-mode)) :hook (ibuffer-mode-hook . nerd-icons-ibuffer-mode))
(use-package ibuffer-projectile ;; Group ibuffer's list by project
:init (use-package ibuffer-project
(add-hook 'ibuffer-hook :autoload (ibuffer-project-generate-filter-groups ibuffer-do-sort-by-project-file-relative)
(lambda () :hook (ibuffer . (lambda ()
(ibuffer-projectile-set-filter-groups) "Group ibuffer's list by project."
(unless (eq ibuffer-sorting-mode 'alphabetic) (setq ibuffer-filter-groups (ibuffer-project-generate-filter-groups))
(ibuffer-do-sort-by-alphabetic))))) (unless (eq ibuffer-sorting-mode 'project-file-relative)
(ibuffer-do-sort-by-project-file-relative))))
:init (setq ibuffer-project-use-cache t))
(use-package beframe (use-package beframe
:hook elpaca-after-init :hook elpaca-after-init
:bind ("C-x f" . other-frame-prefix) :bind ("C-x f" . other-frame-prefix)
:config :config
(define-key global-map (kbd "C-c b") #'beframe-prefix-map) (define-key global-map (kbd "C-c b") #'beframe-prefix-map)
(setq beframe-functions-in-frames '(projectile-switch-project) (setq beframe-functions-in-frames '(project-switch-project)
beframe-rename-function #'ignore beframe-rename-function #'ignore
beframe-global-buffers '("*scratch*" "*Messages*" "*Backtrace*")) beframe-global-buffers '("*scratch*" "*Messages*" "*Backtrace*"))
(use-package embark (use-package embark

View File

@@ -12,6 +12,7 @@
)) ))
(use-package jinx (use-package jinx
;; :diminish
:hook ((text-mode prog-mode conf-mode org-mode) . jinx-mode) :hook ((text-mode prog-mode conf-mode org-mode) . jinx-mode)
:commands jinx-mode :commands jinx-mode
:bind ([remap ispell-word] . jinx-correct)) :bind ([remap ispell-word] . jinx-correct))