summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrekado <rekado@elephly.net>2014-10-28 13:43:44 +0100
committerrekado <rekado@elephly.net>2014-10-28 13:43:44 +0100
commit318ba9e89cb22863054477aefc1d6518bfae1bf7 (patch)
tree1a1ede8bcc609f19c924b19767f22b11bb99b090
parenta56deac388b826845ca1449c1e52f9b8a29e228f (diff)
do not use cask
-rw-r--r--Cask45
-rw-r--r--init.el10
-rw-r--r--lisp/init-package.el65
3 files changed, 66 insertions, 54 deletions
diff --git a/Cask b/Cask
deleted file mode 100644
index a3b87e0..0000000
--- a/Cask
+++ /dev/null
@@ -1,45 +0,0 @@
-(source melpa)
-(source marmalade)
-(source gnu)
-
-(depends-on "ac-inf-ruby")
-(depends-on "ace-jump-mode")
-(depends-on "auctex")
-(depends-on "auto-complete")
-(depends-on "better-defaults")
-(depends-on "centered-cursor-mode")
-(depends-on "dired-details")
-(depends-on "dired+")
-(depends-on "erc-hl-nicks")
-(depends-on "expand-region")
-(depends-on "fullscreen-mode")
-(depends-on "god-mode")
-(depends-on "geiser")
-(depends-on "haskell-mode")
-(depends-on "helm")
-(depends-on "hungry-delete")
-(depends-on "ido-ubiquitous")
-(depends-on "ido-yes-or-no")
-(depends-on "idomenu")
-(depends-on "inf-ruby")
-(depends-on "info+")
-(depends-on "js2-mode")
-(depends-on "magit")
-(depends-on "markdown-mode")
-(depends-on "multiple-cursors")
-(depends-on "page-break-lines")
-(depends-on "paredit")
-(depends-on "paren-face")
-(depends-on "projectile")
-(depends-on "ruby-block")
-(depends-on "ruby-mode")
-(depends-on "scss-mode")
-(depends-on "shell-switcher")
-(depends-on "skewer-mode")
-(depends-on "smart-mode-line")
-(depends-on "smex")
-(depends-on "sublime-themes")
-(depends-on "undo-tree")
-(depends-on "visual-regexp-steroids")
-(depends-on "yasnippet")
-(depends-on "znc")
diff --git a/init.el b/init.el
index cf5f08c..fd73f37 100644
--- a/init.el
+++ b/init.el
@@ -14,11 +14,9 @@
(mouse-wheel-mode -1)
(add-to-list 'load-path (concat user-emacs-directory "/lisp/"))
-(add-to-list 'load-path (concat user-emacs-directory "/.cask/"))
(add-to-list 'load-path "/usr/share/emacs/site-lisp/")
-(require 'cask "~/.cask/cask.el")
-(cask-initialize)
+(load "init-package.el")
(require 'better-defaults)
(require 'paren-face)
@@ -28,12 +26,6 @@
(setq custom-file (expand-file-name "custom.el" user-emacs-directory))
(load custom-file)
-(require 'package)
-(add-to-list 'package-archives
- '("melpa" . "http://melpa.milkbox.net/packages/")
- '("marmalade" . "http://marmalade-repo.org/packages/"))
-(package-initialize)
-
;; sublime-themes must be installed
(load-theme 'spolsky t)
(set-cursor-color "White")
diff --git a/lisp/init-package.el b/lisp/init-package.el
new file mode 100644
index 0000000..bf0d1ff
--- /dev/null
+++ b/lisp/init-package.el
@@ -0,0 +1,65 @@
+(require 'package)
+
+(add-to-list 'package-archives
+ '("melpa" . "http://melpa.milkbox.net/packages/")
+ '("marmalade" . "http://marmalade-repo.org/packages/"))
+(package-initialize)
+
+(unless (file-exists-p "~/.emacs.d/elpa/archives/melpa")
+ (package-refresh-contents))
+
+(defun packages-install (packages)
+ (mapcar (lambda (package)
+ (when (not (package-installed-p package))
+ (package-install package)))
+ packages)
+ (delete-other-windows))
+
+;; Install extensions if they're missing
+(defun init--install-packages ()
+ (packages-install
+ '(ac-inf-ruby
+ ace-jump-mode
+ auctex
+ auto-complete
+ better-defaults
+ centered-cursor-mode
+ dired-details
+ dired+
+ erc-hl-nicks
+ expand-region
+ fullscreen-mode
+ god-mode
+ geiser
+ haskell-mode
+ helm
+ hungry-delete
+ ido-ubiquitous
+ idomenu
+ inf-ruby
+ info+
+ js2-mode
+ magit
+ markdown-mode
+ multiple-cursors
+ page-break-lines
+ paredit
+ paren-face
+ projectile
+ ruby-block
+ ruby-mode
+ scss-mode
+ shell-switcher
+ skewer-mode
+ smart-mode-line
+ smex
+ sublime-themes
+ undo-tree
+ visual-regexp-steroids
+ znc)))
+
+(condition-case nil
+ (init--install-packages)
+ (error
+ (package-refresh-contents)
+ (init--install-packages)))