(require 'wl-load-path) (defun wl-set-fontset-font () (set-fontset-font "fontset-default" 'chinese-gbk "WenQuanYi Micro Hei Mono") ;; Do not use WenQuanYi for Chinese double dash. See ;; http://lists.gnu.org/archive/html/emacs-devel/2014-04/msg00417.html (set-fontset-font "fontset-default" 'symbol "Liberation Mono" nil 'prepend)) (if (and (fboundp 'daemonp) (daemonp)) (progn (add-hook 'after-make-frame-functions (lambda (frame) (with-selected-frame frame (wl-set-fontset-font)))) ;; Default is *scratch* buffer. It's extremely painful to ;; switch back and forth. The point of *scratch* buffer is ;; already the end of buffer (switch-to-buffer "*Startup Log*")) (wl-set-fontset-font)) (defun wl-grep (p l) (let ((rl)) (dolist (elt l) (when (funcall p elt) (add-to-list 'rl elt))) rl)) ;; (let ((dirs-version (wl-grep (lambda (dir) ;; (string-match (format "%d.%d" ;; emacs-major-version ;; emacs-minor-version) ;; dir)) ;; load-path))) ;; (dolist (dir dirs-version) ;; (setq load-path (delete dir load-path)) ;; (add-to-list 'load-path dir))) (require 'wl-generic) (require 'wl-emacswiki) (require 'wl-programming) (require 'wl-version-control) (require 'wl-org) (require 'wl-sync) (require 'wl-perl) (defvar wl-slime-contrib-list '(inferior-slime slime-asdf slime-autodoc slime-banner slime-c-p-c slime-editing-commands slime-fancy-inspector slime-fancy slime-fuzzy slime-highlight-edits slime-parse ;; slime-presentation-streams slime-presentations slime-references slime-scratch slime-tramp ;; slime-typeout-frame slime-xref-browser)) (require 'wl-common-lisp) (setq slime-default-lisp 'clisp) (setenv "GPG_AGENT_INFO" nil) (require 'wl-mail) (setq gnus-summary-line-format "%U%R%z %d %4k %I%(%[%-15,15uB%]%) %s\n") (setq mm-text-html-renderer 'gnus-article-html) (eval-after-load 'bbdb '(progn (bbdb-initialize 'gnus) (add-hook 'gnus-startup-hook 'bbdb-insinuate-gnus) (setq bbdb/mail-auto-create-p 'bbdb-ignore-some-messages-hook) (setq bbdb/news-auto-create-p 'bbdb-ignore-some-messages-hook) (setq bbdb-always-add-addresses 'bbdb-ignore-some-messages-hook))) (add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t) (defvar wl-elpa-packages '(plantuml-mode org-noter pdf-tools xref org-roam org-ref eglot elpy lsp-ui flycheck-clang-tidy company gnu-elpa-keyring-update yasnippet org magit htmlize)) (defun wl-ubuntu-install-packages () (interactive) (let ((gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3")) (package-initialize) (package-refresh-contents) (wl-install-keyring-update) (dolist (pkg wl-elpa-packages) (condition-case nil (package-install pkg) (error (message (concat "Skip installing " (symbol-name pkg)))))) (wl-install-elisp-from-emacswiki))) (provide 'wl-ubuntu-init)