1.1--- a/emacs.sk Sat Sep 21 18:18:14 2024 -0400
1.2+++ b/emacs.sk Sat Sep 21 22:58:22 2024 -0400
1.3@@ -2,4 +2,26 @@
1.4 :name "core/emacs"
1.5 :path "emacs"
1.6 ;; :components ((:org "babel"))
1.7-:rules ()
1.8\ No newline at end of file
1.9+:bind ((dotemacs (merge-pathnames ".emacs.d/" (user-homedir-pathname)))
1.10+ (config () (directory "emacs/*.el"))
1.11+ (lib () (directory "emacs/lib/*.el")))
1.12+:rules
1.13+((install ()
1.14+ (mapcar
1.15+ (lambda (el)
1.16+ (std:with-open-files
1.17+ ((in el :direction :input)
1.18+ (out (merge-pathnames (file-namestring el) dotemacs) :direction :output))
1.19+ (std:copy-stream in out :finish-output t)))
1.20+ config)
1.21+ (mapcar
1.22+ (lambda (el)
1.23+ (std:with-open-files
1.24+ ((in el :direction :input)
1.25+ (out (merge-pathnames (file-namestring el)
1.26+ (ensure-directories-exist
1.27+ (merge-pathnames "lib/" dotemacs)))
1.28+ :direction :output))
1.29+ (std:copy-stream in out :finish-output t)))
1.30+ lib)))
1.31+