;; Initialise the package system first of all. (require 'package) (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t) (defvar fcuny-path-emacs-var (expand-file-name "var" user-emacs-directory) "Path to some files for Emacs.") (defvar fcuny-path-emacs-elpa (expand-file-name "elpa" fcuny-path-emacs-var) "Path to elpa's local files.") ;; where to store the packages (setq package-user-dir fcuny-path-emacs-elpa) ;; initialize it (package-initialize) ;; if use-package is not present, we install it (unless (package-installed-p 'use-package) (package-refresh-contents) (package-install 'use-package)) (defun fcuny/init-load-path () "Load custom configurations." (let* ((before load-path) (config-dir (expand-file-name "config" user-emacs-directory))) (dolist (path (append (list config-dir))) (add-to-list 'load-path path) (add-to-list 'Info-default-directory-list path)))) (fcuny/init-load-path) (require 'use-package) (use-package fcuny-base) (use-package fcuny-basic-settings) (use-package fcuny-darwin :if (memq window-system '(mac ns))) (use-package fcuny-linux :if (string-equal system-type "gnu/linux")) (use-package fcuny-editor) (use-package fcuny-text) (use-package fcuny-prog) (use-package fcuny-serializers)