~doom.d -> Doom/.doom.d

Proper naming, GNU/Stow style.
This commit is contained in:
dx
2020-04-24 02:53:57 +01:00
parent e3e4bd9710
commit c65cf688fc
31 changed files with 1 additions and 1 deletions

View File

@@ -0,0 +1,19 @@
#+TITLE: private/gentemplate
#+DATE: March 17, 2020
* Description
This module allows users to clone templates from my Github to specific machines.
These templates allow for quick and easy setup for languages or frameworks where
this sort of thing isn't very nice to do (for example C++).
This module is used through the main function =+gentemplate/generate-template=.
It will ask what template you want to use then where to put it, finally doing
the necessary work to get you that template. You may mutate the variables
=+gentemplate/template-list= and =+gentemplate/profile-url= to customise your
templates.
* Prerequisites
- git
* Requirements
- ivy
- magit
- cl

View File

@@ -0,0 +1,31 @@
;;; private/gentemplate/config.el -*- lexical-binding: t; -*-
(require 'cl)
(setq +gentemplate/template-list (list "CTemplate" "CPPTemplate" "PythonTemplate" "NodeTemplate" "ArduinoTemplate" "JavaTemplate"))
(setq +gentemplate/profile-url "https://github.com/oreodave/")
(defun +gentemplate/offline ()
(eq (list-length (network-interface-list)) 1))
(defun +gentemplate/copy-template (template-name dest)
"Copy a template project via it's `template-name' to a folder called `dest'"
(copy-directory (expand-file-name (concat "~/Code/Templates/" template-name)) dest))
(after! (ivy magit-clone)
(defun +gentemplate/download-template (template-name dest)
"Download a given template via its `template-name' to the `dest' folder"
(magit-clone-regular (concat +gentemplate/profile-url template-name) dest nil))
(defun +gentemplate/generate-template ()
(interactive)
(ivy-read
"Enter template: "
+gentemplate/template-list
:action
(lambda (template-name)
(let ((dir (read-directory-name "Enter directory to download to: "))
(offline (+gentemplate/offline)))
(if offline
(+gentemplate/copy-template template-name dir)
(+gentemplate/download-template template-name dir)))))))