From 17b262f5f811ff7337a8e426cd8b0bcf2fffef98 Mon Sep 17 00:00:00 2001 From: Rongsong Shen Date: Tue, 11 Dec 2018 22:02:24 +0800 Subject: [PATCH] update --- init/dot.emacs.el | 47 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/init/dot.emacs.el b/init/dot.emacs.el index 73c2af8..ab04c92 100644 --- a/init/dot.emacs.el +++ b/init/dot.emacs.el @@ -1,8 +1,39 @@ -(setq emacs-config-name - (let ((config-name (getenv "EMACS_CONFIG"))) - (if config-name - config-name - ".emacs.d"))) +(defun install-emacs-startkit (name directory) + (let ((startkit-info + '((doom-emacs . + (lambda (dir) + (concat "git clone git@github.com:shen390s/doom-emacs.git " + dir " && cd " dir " && " + " cp init.example.el init.el && " + " make install "))) + (frontmacs . + (lambda (dir) + (concat "mkdir -p " dir " && cd " dir " && " + "wget https://github.com/shen390s/frontmacs/blob/master/scripts/init-frontmacs.el && " + "echo \"(load (expand-file-name \"init-frontmacs.el\" user-emacs-directory))\" >>init.el"))) + (graphane . + (lambda (dir) + (concat "git clone git@github.com:shen390s/dotfiles-emacs.git " dir))) + (ohai-emacs . + (lambda (dir) + (concat "git clone git@github.com:shen390s/ohai-emacs.git " dir))) + (prelude . + (lambda (dir) + (concat "git clone git@github.com:shen390s/prelude.git " dir))) + (spacemacs . + (lambda (dir) + (concat "git clone https://github.com/syl20bnr/spacemacs.git " dir)))))) + (let ((installer (funcall (cdr (assoc (intern name) startkit-info)) directory))) + (let ((output (shell-command-to-string installer))) + (message "%s" output))))) + +(setq emacs-start-kit + (let ((start-kit (getenv "EMACS_STARTKIT"))) + (if start-kit + start-kit + "spacemacs"))) + +(setq emacs-config-name emacs-start-kit) (setq emacs-config-directory (let ((config-dir (getenv "EMACS_CONFIG_DIR"))) @@ -13,6 +44,12 @@ (setq user-emacs-directory emacs-config-directory) +(setq emacs-init-file + (expand-file-name "init.el" user-emacs-directory)) + +(if (not (file-exists-p emacs-init-file)) + (install-emacs-startkit emacs-start-kit emacs-config-directory)) + (let ((init-file (expand-file-name "init.el" user-emacs-directory))) (when (file-exists-p init-file) (load-file init-file)))