Newer
Older
emacs_d / init.el
@clewis clewis on 9 Nov 2023 3 KB initial commit
;; 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.
 )