dotfiles/zsh/makefile
James Patrick 6c3787ef1b Refactored to use .ONESHELL
This makes it a hell of a lot simpler but will lose support for BSD
make. All effected machines are running gnu-make, so the cost benefit
ratio ways heavily in favor of doing this.
2020-03-09 13:37:50 -04:00

55 lines
1.3 KiB
Makefile

SRC := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
include ../lib/shared.mk
ZSH_DIR := ~/.zsh
ZPLUG_DIR := ~/.zplug
install: | init update
init:
$(info => Setting up zsh)
$(MAKE) -C $(SRC) init_zplug
$(mk_link) $(SRC) ~/.zsh
$(mk_link) $(ZSH_DIR)/zshrc ~/.zshrc
$(mk_link) $(ZSH_DIR)/zlogin ~/.zlogin
$(mk_link) $(ZSH_DIR)/zprofile ~/.zprofile
$(mk_link) $(ZSH_DIR)/zshenv ~/.zshenv
$(mk_link) $(ZSH_DIR)/zlogout ~/.zlogout
chmod 700 $(ZSH_DIR)/transient \
; $(report) "updating transient permissions"
init_zplug:
if [ ! -e $(ZPLUG_DIR) ] ; then
export ZPLUG_HOME=$(ZPLUG_DIR)
git clone https://github.com/zplug/zplug $(ZPLUG_DIR) \
; $(report) "zplug installed"
else
$(report) debug "zplug already installed. Skipping"
fi
update:
if [ -e $(ZPLUG_DIR) ] ; then
$(report) header "Updating zplug"
source $(ZPLUG_DIR)/init.zsh
source $(ZSH_DIR)/zplug
export zplugs
zplug install \
; $(report) "zplug install"
zplug update \
; $(report) "zplug upate"
zplug clean \
; $(report) "zplug cleaned"
else
$(report) error "$(ZPLUG_DIR) doesn't exist... maybe run init first?"
fi
remove:
rm -rf $(ZPLUG_DIR) ; $(report) "deleting zplug dir"
$(rm_link) ~/.zprofile
$(rm_link) ~/.zlogin
$(rm_link) ~/.zshrc
$(rm_link) ~/.zsh
$(rm_link) ~/.zshenv
$(rm_link) ~/.zlogout