
- コンパクトで軽量な日本語ディストリビューション -
vine-default は、以下のようにして Vine Linux のデフォルト設定が読み込まれます。
Vine Linux 6 の vine-default の仕組みは、 Vine Linux 5 の vine-default からいくつか改良しました。 主な変更点は、以下のようになります。
具体的には、 /usr/share/emacs-23.3/site-lisp/site-start.el に、以下のような関数とフックを定義しています。
(defcustom vine-default t
"A boolean for all Vine Linux default settings"
:type 'boolean)
(if (equal (getenv "LOGNAME") "root")
(setq vine-default nil))
(defcustom vine-default-base t
"A boolean for vine-default-base"
:type 'boolean)
(defcustom vine-default-faces t
"A boolean for vine-default-faces"
:type 'boolean)
(defvar vine-default-setup-hook nil
"List of functions to be called at vine-default-setup")
(defun vine-default-setup ()
"A function for setup to default configurations of Vine Linux"
(when vine-default
(message "Starting vine-default-setup ...")
(when vine-default-base
(message "Loading vine-default-base ...")
(require 'vine-default-base))
(when vine-default-faces
(message "Loading vine-default-faces ...")
(require 'vine-default-faces))
(run-hooks 'vine-default-setup-hook)
;; (run-hooks 'after-vine-default-setup-hook); obsolete
)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; run functions from the /etc/emacs-23.3/site-start.d directory
;;; Files in this directory ending with ".el" are run on startup
(mapc 'load (directory-files "/etc/emacs-23.3/site-start.d" t "\\.el\\'"))
;;; load local configuration
(if (file-exists-p (expand-file-name "/etc/emacs/emacs23-local.el"))
(load (expand-file-name "/etc/emacs/emacs23-local.el")))
;;; load vine-default configuration per user before vine-default-setup
(if (file-exists-p (expand-file-name "~/.emacs.d/emacs23-vine-default.el"))
(load (expand-file-name "~/.emacs.d/emacs23-vine-default.el")))
;;; run vine-default-setup
(vine-default-setup)
例えば、ibus-el の場合は /etc/emacs-23.3/site-start.d/95-ibus-el-init.el に以下のような設定をしています。
(defcustom vine-default-ibus-el t
"A boolean for vine-default-ibus-el"
:type 'boolean)
(add-hook 'vine-default-setup-hook
(lambda()
(if vine-default-ibus-el
(require 'vine-default-ibus-el))))