about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--init-functions.el23
1 files changed, 23 insertions, 0 deletions
diff --git a/init-functions.el b/init-functions.el
new file mode 100644
index 000000000000..43d7c81c2fc1
--- /dev/null
+++ b/init-functions.el
@@ -0,0 +1,23 @@
+;; A few handy functions I use in init.el (or not, but they're nice to
+;; have)
+
+;; Ensure that the themes folder exists
+
+(defun custom-download-theme (url filename)
+  "Downloads a theme through HTTP and places it in ~/.emacs.d/themes"
+
+  ;; Ensure the directory exists
+  (unless (file-exists-p "~/.emacs.d/themes")
+    (make-directory "~/.emacs.d/themes"))
+
+  ;; Adds the themes folder to the theme load path (if not already
+  ;; there)
+  (unless (member "~/.emacs.d/themes" custom-theme-load-path)
+    (add-to-list 'custom-theme-load-path "~/.emacs.d/themes"))
+ 
+  ;; Download file if it doesn't exist.
+
+  (let ((file
+         (concat "~/.emacs.d/themes/" filename)))
+    (unless (file-exists-p file)
+      (url-copy-file url file))))