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) ifeq ($(shell [ ! -e $(ZPLUG_DIR) ] $(return_val_truthy) ), true) export ZPLUG_HOME=$(ZPLUG_DIR) \ ; git clone https://github.com/zplug/zplug $(ZPLUG_DIR) \ ; $(report) "zplug installed" endif $(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 update: [ -e $(ZPLUG_DIR) ] \ && ( echo "=> Updating zplug" \ source $(ZPLUG_DIR)/init.zsh ; source $(ZSH_DIR)/zplug ; zplug install ; zplug update ) \ || $(report) warn "No zplug install detected. Skipping." remove: ifeq ($(shell [ -e $(ZPLUG_DIR) ] $(return_val_truthy) ), true) $(report) warn "Leaving $(ZPLUG_DIR) directory." endif $(info => Removing zsh) $(rm_link) ~/.zprofile $(rm_link) ~/.zlogin $(rm_link) ~/.zshrc $(rm_link) ~/.zsh $(rm_link) ~/.zshenv $(mk_link) $(ZSH_DIR)/zlogout ~/.zlogout