doomemacs/init-load-path.el
2015-07-25 13:50:44 +02:00

42 lines
1.7 KiB
EmacsLisp

;;; init-load-path.el
(fset '! 'eval-when-compile)
(defconst narf-emacs-dir user-emacs-directory)
(defconst narf-core-dir (concat narf-emacs-dir "core/"))
(defconst narf-modules-dir (concat narf-emacs-dir "modules/"))
(defconst narf-contrib-dir (concat narf-emacs-dir "contrib/"))
(defconst narf-private-dir (concat narf-emacs-dir "private/"))
(defconst narf-elpa-dir (concat narf-emacs-dir ".cask/" emacs-version "/elpa/"))
(defconst narf-temp-dir (concat narf-private-dir "cache/" (system-name) "/"))
(defconst narf-script-dir (concat narf-emacs-dir "scripts/"))
(defconst narf-snippet-dirs (list (concat narf-private-dir "snippets/")
(concat narf-private-dir "templates/")))
(! (defun --subdirs (path)
(let ((result '())
(paths (ignore-errors (directory-files path t "^[^.]" t))))
(dolist (file paths)
(when (file-directory-p file)
(add-to-list 'result file)))
result)))
;; Scan various folders to populate the load-dirs
(setq custom-theme-load-path
(! (append (--subdirs (concat narf-private-dir "themes/"))
custom-theme-load-path)))
(setq load-path
(! (require 'cask)
(cask-initialize)
(setq load-path (append (list narf-core-dir narf-contrib-dir narf-modules-dir narf-private-dir)
(list (concat narf-core-dir "lib"))
(list (concat narf-modules-dir "lib"))
(--subdirs narf-contrib-dir)
load-path))))
(defconst IS-MAC (eq system-type 'darwin))
(defconst IS-LINUX (eq system-type 'gnu/linux))
(defconst IS-WINDOWS (eq system-type 'windows-nt))
;;; init-load-path.el ends here