SRC_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) EMACSD := ~/.emacs.d # Doom Config DOOMD := ~/.doom.d DOOM_URL := https://github.com/hlissner/doom-emacs include ../lib/shared.mk install: | init update init: if (( ! $$+commands[emacs] )) ; then $(report) debug "Emacs not installed. Skipping install." elif [[ -v $$SSH_TTY ]] ; then $(report) debug "This is a SSH connection. Skipping." else $(report) header "emacs init" $(mk_link) $(SRC_DIR)/doom.d $(DOOMD) $(MAKE) -C $(SRC_DIR) doom_init fi doom_init: $(report) info hi if [ ! -e $(EMACSD) ] ; then git clone $(DOOM_URL) $(EMACSD) ~/.emacs.d/bin/doom --yes install \ ; $(report) "doom install" ~/.emacs.d/bin/doom --yes compile ':core' \ ; $(report) "doom core compile" else $(report) debug "emacsd already exists. Skipping" fi update: if [ -e $(EMACSD)/bin/doom ] ; then ~/.emacs.d/bin/doom --yes purge \ ; $(report) "doom purge" ~/.emacs.d/bin/doom --yes refresh \ ; $(report) "doom refresh" else $(report) debug "doom not setup, so not updating." fi remove: $(report) header "Removing Emacs configuration" rm -rf $(EMACSD) ; $(report) "deleted $(EMACSD)" $(rm_link) $(DOOMD)