KXQCM5H4TGZD4LCAFFNBSNEYARYCLWVGPCPFMCFMNPVH2FE5ZA7AC
6R7OKPIFHKRDZ4QTWCGOWZILOEHDXGCPMD4E2G5D4QSREEYIF46AC
RXCY7LD6ZRIOIKZEYKLMCYPMQPXF4DOEEFBDLVR2B22BXLZJFFBQC
A3TVGLVHSVLMEHLHB3TPBSD3QGNVGX3DIK6BEBDTTHWBNW4ALMRAC
IOXOZB2VUXVUEINLFBT4SPSJV32X5ZFT5FKSVRAIEXEFQJLG6MHQC
XVTMOFGU6CHREORKDVHTTGSOTDT7B3NJXUKCSQSTIBTWSW54FVVAC
IOVPOFAVXEQIZ7BCFVVAWFW3RYFXPK2GOILDWA6N6QHQHLAJ4XTAC
FL4PBM2WIXL6VOVUWLKJPK45BYUDBZT6PZ7TE2I2IU2AJLJ6TWDAC
6CXN3CPPRMVTLXPACMBHDYFJTVA7KVEQVC6KRKHJW6VZHANVAAOAC
2I4DXRBP7LX77TSWGJZLKVTDRMW77WOMUWY4CTMP4MXAQPIKBKVQC
LA4734RIK7CSKUNJCTCI2KCBPNOKELRXVTW6HEPWY65LSYSA3CWAC
ZYEHQDDB635RZOU4YDJYS5SPJ6BBZEWGSYLNABXRTW5OA4AXU7LQC
(eval-and-compile
(defun fwoar-git-repo (name ssh-remote http-remote)
(let ((dir-name (file-name-as-directory (expand-file-name name *fwoar-git-repos*))))
(unless (file-exists-p dir-name)
(ecase fwoar-git-mode
(:ssh (magit-run-git-with-input "clone" ssh-remote dir-name))
(:http (magit-run-git-with-input "clone" http-remote dir-name))))
dir-name)))
(defvar *dotfiles-repo*
(fwoar-git-repo "dotfiles"
"git@git.fiddlerwoaroof.com:dotfiles.git"
"https://git.fiddlerwoaroof.com/git/dotfiles.git"))
(defun fwoar/setup-load-path ()
(let* ((new-load-path (cl-adjoin "~/.emacs.d/lisp/configurations/"
load-path
:test 'equal))
(new-load-path (cl-adjoin (concat *dotfiles-repo*
"emacs.d/lisp/configurations/")
new-load-path
:test 'equal))
(new-load-path (cl-adjoin (concat *dotfiles-repo*
"emacs.d/packages/")
new-load-path
:test 'equal)))
(setq load-path new-load-path)))
(fwoar/setup-load-path)
(defun fwoar/package-configuration (package)
(fwoar/setup-load-path)
(let* ((local-configs)
(git-configs (concat *dotfiles-repo*
"emacs.d/lisp/configurations/"))
(conf-file (concat (symbol-name package) "-conf.el"))
(load-path (list* local-configs git-configs load-path)))
conf-file))
(defun load-package-configuration (package)
(let ((conf-file (fwoar/package-configuration package)))
(load conf-file)))
(defun fwoar/load-local-packages ()
(interactive)
(mapc 'package-install-file
(directory-files (format "%s/%s" *dotfiles-repo* "emacs.d/packages/")
t ".*[.]el")))
(eval-and-compile
(defun fwoar-git-repo (name ssh-remote http-remote)
(let ((dir-name (file-name-as-directory (expand-file-name name *fwoar-git-repos*))))
(unless (file-exists-p dir-name)
(ecase fwoar-git-mode
(:ssh (magit-run-git-with-input "clone" ssh-remote dir-name))
(:http (magit-run-git-with-input "clone" http-remote dir-name))))
dir-name)))
(defvar *dotfiles-repo*
(fwoar-git-repo "dotfiles"
"git@git.fiddlerwoaroof.com:dotfiles.git"
"https://git.fiddlerwoaroof.com/git/dotfiles.git"))
(defun fwoar/setup-load-path ()
(let* ((new-load-path (cl-adjoin "~/.emacs.d/lisp/configurations/"
load-path
:test 'equal))
(new-load-path (cl-adjoin (concat *dotfiles-repo*
"emacs.d/lisp/configurations/")
new-load-path
:test 'equal))
(new-load-path (cl-adjoin (concat *dotfiles-repo*
"emacs.d/packages/")
new-load-path
:test 'equal)))
(setq load-path new-load-path)))
(fwoar/setup-load-path)
(defun fwoar/package-configuration (package)
(fwoar/setup-load-path)
(let* ((local-configs)
(git-configs (concat *dotfiles-repo*
"emacs.d/lisp/configurations/"))
(conf-file (concat (symbol-name package) "-conf.el"))
(load-path (list* local-configs git-configs load-path)))
conf-file))
(defun load-package-configuration (package)
(let ((conf-file (fwoar/package-configuration package)))
(load conf-file)))
(defun fwoar/load-local-packages ()
(interactive)
(mapc 'package-install-file
(directory-files (format "%s/%s" *dotfiles-repo* "emacs.d/packages/")
t ".*[.]el")))
(unless (package-installed-p 'fwoar-functional-utils)
(fwoar/load-local-packages))