-(load "~/.emacs.d/backups.el")
-(load "~/.emacs.d/packages.el")
-(load "~/.emacs.d/display.el")
-(load "~/.emacs.d/keys.el")
-(load "~/.emacs.d/modes.el")
+;;; -*- lexical-binding: t -*-
+
+(require 'seq)
+
+(defvar my/original-load-path load-path)
+
+(defun my/add-to-load-path (dirname)
+ (and (file-accessible-directory-p dirname)
+ (seq-filter (lambda (file)
+ (string-match-p "\\.el$" file))
+ (directory-files dirname))
+ (add-to-list 'load-path dirname)))
+
+(defun my/setup-load-path ()
+ (setq load-path my/original-load-path)
+
+ (my/add-to-load-path "~/.emacs.d/lisp")
+
+ (dolist (dirname (directory-files "~/.emacs.d/packages" 'full "^[^\\.]"))
+ (my/add-to-load-path dirname)
+ (my/add-to-load-path (concat dirname "/lisp")))
+
+ (message "Set load-path: %S" load-path))
+
+
+(my/setup-load-path)
+
+(load-library "my-backups")
+(load-library "my-direx")
+(load-library "my-editing-defuns")
+(load-library "my-file-modes")
+(load-library "my-find-test-file")
+(load-library "my-flycheck")
+(load-library "my-frame-title")
+(load-library "my-gui")
+(load-library "my-ivy")
+(load-library "my-keys")
+(load-library "my-kill-buffers")
+(load-library "my-minor-modes")
+(load-library "my-recentf")
+(load-library "my-scratch")
+(load-library "my-shackle")
+(load-library "my-vc")
+
+(message "Successfully loaded init.el")