;; init.el --- Emacs configuration
;; INSTALL PACKAGES
;; --------------------------------------
(require 'package)
(setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/")
("melpa" . "https://melpa.org/packages/")))
;(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))
;(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t) ; Org-mode's repository
;(add-to-list 'package-archives
; '("melpa" . "http://melpa.org/packages/") t)
;https://mirror.tuna.tsinghua.edu.cn/help/elpa/
(add-to-list 'package-archives
'("melpa" . "http://mirrors.tuna.tsinghua.edu.cn/elpa/melpa-stable/") t)
;(setq package-archives '(("gnu" . "http://mirrors.tuna.tsinghua.edu.cn/elpa/gnu/")
; ("melpa" . "http://mirrors.tuna.tsinghua.edu.cn/elpa/melpa/")))
; (setq package-archives '(("gnu" . "http://elpa.emacs-china.org/gnu/")
; ("melpa" . "http://elpa.emacs-china.org/melpa/")))
;(require 'package)
;(add-to-list 'package-archives
; '("melpa" . "https://melpa.milkbox.net/packages/") t)
;We have "sbt" and "scala" in /usr/local/bin so we add this path to the PATH environment
;(setq exec-path (append exec-path '("/usr/local/bin")))
;(setq exec-path (append exec-path '("/usr/local/sbin")))
;(setenv "PATH" (shell-command-to-string "/bin/bash -c 'echo -n $PATH'"))
;(require 'ensime)
;(add-hook 'scala-mode-hook 'ensime-scala-mode-hook)
(package-initialize)
(when (not package-archive-contents)
(package-refresh-contents))
(defvar myPackages
'(better-defaults
elpy ;; add the elpy package
material-theme))
(mapc #'(lambda (package)
(unless (package-installed-p package)
(package-install package)))
myPackages)
;; BASIC CUSTOMIZATION
;; --------------------------------------
(setq inhibit-startup-message t) ;; hide the startup message
(load-theme 'material t) ;; load material theme
(global-linum-mode t) ;; enable line numbers globally
(elpy-enable)
(add-to-list 'load-path "~/.emacs.d/")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d//ac-dict")
(ac-config-default)
(require 'package)
(let* ((no-ssl (and (memq system-type '(windows-nt ms-dos))
(not (gnutls-available-p))))
(proto (if no-ssl "http" "https")))
;; Comment/uncomment these two lines to enable/disable MELPA and MELPA Stable as desired
(add-to-list 'package-archives (cons "melpa" (concat proto "://melpa.org/packages/")) t)
;;(add-to-list 'package-archives (cons "melpa-stable" (concat proto "://stable.melpa.org/packages/")) t)
(when (< emacs-major-version 24)
;; For important compatibility libraries like cl-lib
(add-to-list 'package-archives (cons "gnu" (concat proto "://elpa.gnu.org/packages/")))))
(package-initialize)
;;;;slime configure
;(setq inferior-lisp-program "/usr/bin/sbcl");设置优先使用哪种Common Lisp实现
(setq inferior-lisp-program "/usr/bin/clisp");设置优先使用哪种Common Lisp实现
(add-to-list 'load-path "~/.emacs.d/elpa/slime-20181112.1346");设置Slime路径
(require 'slime)
(slime-setup)
(require 'slime-autoloads)
(slime-setup '(slime-fancy slime-banner))
;;显示行号
(global-linum-mode t)
(setq flymake-log-level 5)
(defadvice flymake-post-syntax-check (before flymake-force-check-was-interrupted)
(setq flymake-check-was-interrupted t))
(ad-activate 'flymake-post-syntax-check)
(add-to-list 'load-path "~/.emacs.d/")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d//ac-dict")
(ac-config-default)
;(add-to-list 'package-archives
; '("melpa-stable" . "https://stable.melpa.org/packages/") t)
;; init.el ends here