1
0
Fork 0
mirror of https://github.com/correl/dotfiles.git synced 2025-04-08 01:01:01 -09:00

Drop Cask in favor of use-package

This commit is contained in:
Correl Roush 2014-11-12 23:22:14 -05:00
parent 44d7960954
commit 2ba255f381
4 changed files with 187 additions and 156 deletions

View file

@ -1,56 +0,0 @@
;; -*- mode: emacs-lisp; -*-
(source gnu)
(source melpa)
(source marmalade)
(source org)
(depends-on "color-theme")
(depends-on "magit")
(depends-on "org-plus-contrib")
(depends-on "auto-complete")
(depends-on "git-gutter")
(depends-on "smex")
(depends-on "expand-region")
(depends-on "powerline")
(depends-on "ack-and-a-half")
(depends-on "projectile")
(depends-on "flycheck")
(depends-on "bbdb")
;; Misc
(depends-on "sauron")
(depends-on "weechat")
;; Themes
(depends-on "twilight-theme")
(depends-on "late-night-theme")
(depends-on "solarized-theme")
;; PHP
(depends-on "php-mode")
(depends-on "web-mode")
;; Python
(depends-on "python")
;; Ruby
(depends-on "rvm")
;; Erlang
(depends-on "erlang")
;; Haskell
(depends-on "haskell-mode")
;; Markdown
(depends-on "markdown-mode")
;; Common Lisp
;; (depends-on "slime")
;; (depends-on "slime-repl")
;; Lisp / Scheme
(depends-on "paredit")
(depends-on "rainbow-delimiters")
(depends-on "rainbow-identifiers")

View file

@ -1,7 +1,7 @@
#+TITLE: Emacs Configuration #+TITLE: Emacs Configuration
* Startup * Startup
Disable the emacs startup screen. ** Disable the emacs startup screen.
#+name: startup #+name: startup
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(setq inhibit-startup-screen +1) (setq inhibit-startup-screen +1)
@ -14,72 +14,94 @@
* Look and Feel * Look and Feel
#+name: look-and-feel #+name: look-and-feel
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(load-theme 'solarized-dark 't) (use-package solarized-theme
#+END_SRC :ensure t
* Autocomplete :init (load-theme 'solarized-dark 't))
#+name: autocomplete
#+BEGIN_SRC emacs-lisp
(require 'auto-complete-config)
(ac-config-default)
#+END_SRC #+END_SRC
* Package Configuration * Package Configuration
** Ido ** Ido
#+name: packages #+name: packages
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(ido-mode +1) (use-package ido
(setq ido-enable-flex-matching t) :defer t
:idle (require 'ido)
:config (progn (setq ido-enable-flex-matching t)
(setq ido-everywhere t)
(ido-mode t)))
#+END_SRC
** Autocomplete
#+name: autocomplete
#+BEGIN_SRC emacs-lisp
(use-package auto-complete
:ensure t
:defer t
:init
(progn (require 'auto-complete-config)
(ac-config-default)
(global-auto-complete-mode t)))
#+END_SRC #+END_SRC
** Smex ** Smex
#+name: packages #+name: packages
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(global-set-key (kbd "M-x") 'smex) (use-package smex
(global-set-key (kbd "M-X") 'smex-major-mode-commands) :ensure t
:bind (("M-x" . smex)
("M-X" . smex-major-mode-commands)))
#+END_SRC #+END_SRC
** Expand Region ** Expand Region
#+name: packages #+name: packages
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(global-set-key (kbd "C-=") 'er/expand-region) (use-package expand-region
:ensure t
:bind ("C-=" . er/expand-region))
#+END_SRC #+END_SRC
** Flycheck ** Flycheck
#+name: packages #+name: packages
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(add-hook 'after-init-hook #'global-flycheck-mode) (use-package flycheck
:ensure t
:defer t
:init
(add-hook 'after-init-hook #'global-flycheck-mode))
#+END_SRC #+END_SRC
** Git-Gutter ** Git-Gutter
#+name: packages #+name: packages
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(global-git-gutter-mode t) (use-package git-gutter
:ensure t
(defadvice ediff-make-temp-file (before make-temp-file-suspend-ll :defer t
activate compile preactivate) :idle (global-git-gutter-mode t)
"Disable git-gutter when running ediff" :config
(global-git-gutter-mode 0)) (progn
(defadvice ediff-make-temp-file (before make-temp-file-suspend-ll
(add-hook 'ediff-cleanup-hook activate compile preactivate)
'(lambda () "Disable git-gutter when running ediff"
(global-git-gutter-mode t))) (global-git-gutter-mode 0))
(add-hook 'ediff-cleanup-hook
'(lambda ()
(global-git-gutter-mode t)))))
#+END_SRC #+END_SRC
** Magit ** Magit
#+name: packages #+name: packages
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(defun magit-fullscreen () (use-package magit
(defadvice magit-status (around magit-fullscreen activate) :ensure t
(window-configuration-to-register :magit-fullscreen) :commands (magit-init
ad-do-it magit-status
(delete-other-windows)) magit-diff
magit-commit
(defadvice magit-quit-window (around magit-restore-screen activate) magit-blame-mode)
ad-do-it :config
(jump-to-register :magit-fullscreen))) (progn
(defadvice magit-status (around magit-fullscreen activate)
(eval-after-load 'magit '(magit-fullscreen)) (window-configuration-to-register :magit-fullscreen)
#+END_SRC ad-do-it
** Markdown (delete-other-windows))
#+name: packages
#+BEGIN_SRC emacs-lisp (defadvice magit-quit-window (around magit-restore-screen activate)
(setq auto-mode-alist ad-do-it
(cons '("\\.md" . markdown-mode) auto-mode-alist)) (jump-to-register :magit-fullscreen))))
#+END_SRC #+END_SRC
** Org ** Org
*** Modules *** Modules
@ -179,38 +201,50 @@
** Powerline ** Powerline
#+name: packages #+name: packages
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(powerline-default-theme) (use-package powerline
:ensure t
:init (powerline-default-theme))
#+END_SRC #+END_SRC
** Projectile ** Projectile
#+name: packages #+name: packages
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(projectile-global-mode) (use-package projectile
:ensure t
:defer t
:idle (projectile-global-mode))
#+END_SRC #+END_SRC
** Web Mode ** Web Mode
#+name: packages #+name: packages
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(add-hook 'web-mode-hook (lambda () (use-package web-mode
(setq web-mode-markup-indent-offset 4) :ensure t
(setq web-mode-css-indent-offset 4) :mode ("\\.html$" . web-mode)
(setq web-mode-code-indent-offset 4))) :config (add-hook 'web-mode-hook (lambda ()
(setq web-mode-markup-indent-offset 4)
(setq web-mode-css-indent-offset 4)
(setq web-mode-code-indent-offset 4))))
#+END_SRC #+END_SRC
** BBDB ** BBDB
#+name: packages #+name: packages
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(require 'bbdb) (use-package bbdb
(load "bbdb-com" t) :ensure t
(bbdb-initialize 'gnus 'message) :defer t
(bbdb-insinuate-message) :idle (require 'bbdb)
(add-hook 'gnus-startup-hook 'bbdb-insinuate-gnus) :config (progn (load "bbdb-com" t)
(bbdb-initialize 'gnus 'message)
(bbdb-insinuate-message)
(add-hook 'gnus-startup-hook 'bbdb-insinuate-gnus)))
#+END_SRC #+END_SRC
** Gnus ** Gnus
#+name: packages #+name: packages
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(defun my/configure-gnus () (use-package gnus
<<gnus>> :commands gnus
) :init (progn (defun my/configure-gnus ()
<<gnus>>
(setq gnus-before-startup-hook 'my/configure-gnus) )
(setq gnus-before-startup-hook 'my/configure-gnus)))
#+END_SRC #+END_SRC
*** Avoid rich-text messages *** Avoid rich-text messages
#+name: gnus #+name: gnus
@ -250,60 +284,104 @@
(setq mm-inline-large-images t) (setq mm-inline-large-images t)
#+END_SRC #+END_SRC
* Programming * Programming
** Libraries
*** Dash
A modern list api for Emacs. No 'cl required.
#+name: programming
#+BEGIN_SRC emacs-lisp
(use-package dash
:ensure t
:config (dash-enable-font-lock))
#+END_SRC
** Lisps ** Lisps
#+name: programming #+name: lisps
| Mode | Description | Package |
|------------+----------------------+----------|
| lisp | Common Lisp | |
| emacs-lisp | Emacs Lisp | |
| scheme | Scheme | |
| lfe | Lisp-Flavored Erlang | lfe-mode |
| clojure | Clojure | |
#+BEGIN_SRC emacs-lisp :noweb yes :results code
(let ((packages (-remove 'null
(mapcar 'last (cddr '<<lisps()>>)))))
`(progn ,@packages))
#+END_SRC
#+RESULTS:
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(progn
("")
("")
("")
("lfe-mode")
(""))
#+END_SRC
#+name: programming
#+BEGIN_SRC emacs-lisp :noweb yes
;; SLIME ;; SLIME
(if (file-exists-p "~/quicklisp/slime-helper.el") (if (file-exists-p "~/quicklisp/slime-helper.el")
(load (expand-file-name "~/quicklisp/slime-helper.el"))) (load (expand-file-name "~/quicklisp/slime-helper.el")))
(setq inferior-lisp-program "clisp") (setq inferior-lisp-program "clisp")
(mapcar (lambda (mode-hook) (use-package paredit
(eval-after-load "paredit" `(add-hook ',mode-hook #'enable-paredit-mode)) :ensure t)
(eval-after-load "rainbow-delimiters" `(add-hook ',mode-hook #'rainbow-delimiters-mode))
(eval-after-load "rainbow-identifiers" `(add-hook ',mode-hook #'rainbow-identifiers-mode)) (use-package rainbow-identifiers
:ensure t)
(use-package rainbow-delimiters
:ensure t)
(mapc (lambda (lisp)
(let ((mode-hook (intern (concat lisp "-mode-hook"))))
(message (format "Installing LISP mode hook for %S" mode-hook))
(add-hook mode-hook (lambda () (add-hook mode-hook (lambda ()
(show-paren-mode) (show-paren-mode t)
(electric-indent-mode 1) (electric-indent-mode t)
(paredit-mode 1) (paredit-mode t)
(rainbow-delimiters-mode 1) (rainbow-delimiters-mode t)
(rainbow-identifiers-mode 1))) (rainbow-identifiers-mode t)))))
) (mapcar 'car (cddr '<<lisps()>>)))
'(lisp-mode-hook
emacs-lisp-mode-hook
scheme-mode-hook
lfe-mode-hook
clojure-mode-hook))
#+END_SRC #+END_SRC
** Erlang ** Erlang
#+name: programming #+name: programming
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(add-hook 'erlang-mode-hook (use-package erlang
(lambda () :ensure t
(setq inferior-erlang-machine-options '("-sname" "emacs" :config (add-hook 'erlang-mode-hook
"-hidden")))) (lambda ()
(setq inferior-erlang-machine-options '("-sname" "emacs"
"-hidden")))))
#+END_SRC #+END_SRC
** PHP ** PHP
#+name: programming #+name: programming
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(add-to-list 'auto-mode-alist '("\\.php$" . php-mode)) (use-package web-mode
(add-to-list 'auto-mode-alist '("\\.inc$" . php-mode)) :ensure t
:mode "\\.html?$")
(defun my-php-mode-hook () (use-package php-mode
"Customize PHP indentation" :ensure t
:mode (("\\.php$" . php-mode)
(c-set-offset 'arglist-cont-nonempty 'c-lineup-arglist) ("\\.inc$" . php-mode))
(c-set-offset 'substatement-open 0) :config (add-hook 'php-mode-hook (lambda ()
(c-set-offset 'case-label '+)) "Customize PHP indentation"
(c-set-offset 'arglist-cont-nonempty 'c-lineup-arglist)
(add-hook 'php-mode-hook 'my-php-mode-hook) (c-set-offset 'substatement-open 0)
(c-set-offset 'case-label '+))))
#+END_SRC #+END_SRC
** Ruby ** Ruby
#+name: programming #+name: programming
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(require 'rvm) (use-package rvm
(rvm-use-default) :ensure t
:idle (rvm-use-default))
#+END_SRC #+END_SRC
* Other functionality * Other functionality
** Rename file and buffer ** Rename file and buffer
@ -499,12 +577,12 @@
;;;; information. ;;;; information.
;;;; ;;;;
<<custom-settings>> <<startup>>
<<look-and-feel>> <<look-and-feel>>
<<autocomplete>> <<autocomplete>>
<<packages>> <<packages>>
<<programming>> <<programming>>
<<other>> <<other>>
<<auto-load>> <<auto-load>>
<<startup>> <<custom-settings>>
#+END_SRC #+END_SRC

View file

@ -1,5 +1,20 @@
(require 'cask "~/.cask/cask.el") (require 'package)
(cask-initialize) (package-initialize)
(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/") t)
(unless (package-installed-p 'use-package)
(progn
(package-refresh-contents)
(package-install 'use-package)
(package-initialize)))
(require 'use-package)
(use-package org
:ensure org-plus-contrib)
(require 'org) (require 'org)
(org-babel-load-file "~/.emacs.d/emacs.org") (org-babel-load-file "~/.emacs.d/emacs.org")

6
.zshrc
View file

@ -49,12 +49,6 @@ if which virtualenvwrapper.sh >/dev/null; then
source virtualenvwrapper.sh source virtualenvwrapper.sh
fi fi
# Emacs Cask
if [ ! -d ${HOME}/.cask ]; then
curl -fsSkL https://raw.github.com/cask/cask.el/master/go | python
fi
export PATH="${HOME}/.cask/bin:$PATH"
if [ -d ${HOME}/.cabal/bin ]; then if [ -d ${HOME}/.cabal/bin ]; then
export PATH="${HOME}/.cabal/bin:$PATH" export PATH="${HOME}/.cabal/bin:$PATH"
fi fi