;; Use Emacs package system (require 'package) ;; Add MELPA repository (add-to-list 'package-archives '("tromey" . "https://tromey.com/elpa/") t) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) (add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t) ;; Reload package list (package-initialize) ;; Download the ELPA archive description if needed. ;; This informs Emacs about the latest versions of all packages, and ;; makes them available for download. (when (not package-archive-contents) (package-refresh-contents)) (unless package-archive-contents (package-refresh-contents)) ;; List of packages to install: ;(setq package-list ; '(auto-complete ; auto complete (RECOMMENDED) ; auto-complete-pcmp ; programmable completion ; idle-highlight-mode ; highlight words in programming buffer (OPTIONAL) ; rainbow-delimiters ; highlight parenthesis (OPTIONAL) ; ac-slime ; auto-complete for SLIME ; slime ; SLIME itself ; eval-sexp-fu ; Highlight evaluated form (OPTIONAL) ; smartparens ; Help with many parentheses (OPTIONAL) ; )) (defvar my-packages '(;; makes handling lisp expressions much, much easier ;; Cheatsheet: http://www.emacswiki.org/emacs/PareditCheatsheet paredit auto-complete auto-complete-pcmp ac-slime slime ;; allow ido usage in as many contexts as possible. see ;; customizations/navigation.el line 23 for a description ;; of ido ido-completing-read+ ;; Enhances M-x to allow easier execution of commands. Provides ;; a filterable list of possible commands in the minibuffer ;; http://www.emacswiki.org/emacs/Smex smex ;; project navigation projectile ;; colorful parenthesis matching rainbow-delimiters ;; edit html tags like sexps tagedit ;; git integration magit)) ;; Install if are not installed (dolist (p my-packages) (when (not (package-installed-p p)) (package-install p))) ;; MAIN Slime setup ;; Choose lisp implementation: ;; The first option uses roswell with default sbcl ;; the second option - uses ccl directly ;(setq slime-lisp-implementations ; '((roswell ("ros" "-L" "sbcl-bin" "run")) ; (ccl ("ccl64" ; "-K" "utf-8")))) ;; Other settings... ;(setq inferior-lisp-program "/usr/local/bin/sbcl") ;;;; ;; Customization ;;;; ;; Add a directory to our load path so that when you `load` things ;; below, Emacs knows where to look for the corresponding file. (add-to-list 'load-path "~/.emacs.d/customizations") ;; Sets up exec-path-from-shell so that Emacs will use the correct ;; environment variables (load "shell-integration.el") ;; These customizations make it easier for you to navigate files, ;; switch buffers, and choose options from the minibuffer. (load "navigation.el") ;; These customizations change the way emacs looks and disable/enable ;; some user interface elements (load "ui.el") ;; These customizations make editing a bit nicer. (load "editing.el") ;; Hard-to-categorize customizations (load "misc.el") ;; For editing lisps (load "elisp-editing.el") ;; Langauage-specific (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(coffee-tab-width 2) '(package-selected-packages '(slime-repl slime magit tagedit rainbow-delimiters projectile smex ido-completing-read+ paredit exec-path-from-shell))) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. )