This commit is contained in:
Zelong Kuang
2025-12-22 13:34:38 +11:00
parent 6271a8f511
commit 241d735750
2 changed files with 44 additions and 9 deletions

View File

@@ -8,15 +8,6 @@
(require 'init-elpaca)
(require 'init-gc)
(pcase system-type
('gnu/linux
(dolist (path '("/home/zelongk/.opam/default/bin"
"/home/zelongk/miniforge3/bin"
"/home/zelongk/miniforge3/condabin"
"/home/zelongk/.cargo/bin"
"/home/zelongk/.local/bin"))
(add-to-list 'exec-path path))))
(setq use-package-enable-imenu-support t)
(setq load-prefer-newer noninteractive)

View File

@@ -7,6 +7,50 @@
;; To disable collection of benchmark data after init is done.
(add-hook 'elpaca-after-init-hook 'benchmark-init/deactivate))
(defconst my-local-dir (concat user-emacs-directory ".local/"))
(defconst my-env-file (concat my-local-dir "env"))
(defun my-load-envvars-file (file &optional noerror)
"Read and set envvars from FILE.
If NOERROR is non-nil, don't throw an error if the file doesn't exist or is
unreadable. Returns the names of envvars that were changed."
(if (not (file-readable-p file))
(unless noerror
(signal 'file-error (list "Couldn't read envvar file" file)))
(let (envvars environment)
(with-temp-buffer
(save-excursion
(insert "\n")
(insert-file-contents file))
(while (re-search-forward "\n *\\([^#= \n]*\\)=" nil t)
(push (match-string 1) envvars)
(push (buffer-substring
(match-beginning 1)
(1- (or (save-excursion
(when (re-search-forward "^\\([^= ]+\\)=" nil t)
(line-beginning-position)))
(point-max))))
environment)))
(when environment
(setq process-environment
(append (nreverse environment) process-environment)
exec-path
(if (member "PATH" envvars)
(append (split-string (getenv "PATH") path-separator t)
(list exec-directory))
exec-path)
shell-file-name
(if (member "SHELL" envvars)
(or (getenv "SHELL") shell-file-name)
shell-file-name))
envvars))))
(when (and (or (display-graphic-p)
(daemonp))
(file-exists-p my-env-file))
(my-load-envvars-file my-env-file))
(setq custom-file (expand-file-name "~/.emacs.d/custom.el"))
(add-hook 'elpaca-after-init-hook (lambda () (load custom-file 'no-error 'no-message)))