dotfiles/zsh/makefile

53 lines
1.3 KiB
Makefile

# -*- mode: makefile-gmake; -*-
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)/cache \
; $(report) "updating cache permissions"
init_zplug:
if [ -e $(ZPLUG_DIR) ] ; then
$(report) debug "zplug already installed. Skipping"
return
fi
export ZPLUG_HOME=$(ZPLUG_DIR)
git clone https://github.com/zplug/zplug $(ZPLUG_DIR) \
; $(report) "zplug installed"
update:
if [ ! -d $(ZPLUG_DIR) ] ; then
$(report) error "$(ZPLUG_DIR) doesn't exist - run init first."
return
fi
$(report) header "Updating zplug"
source $(ZPLUG_DIR)/init.zsh
source $(ZSH_DIR)/zplug
export zplugs
zplug install
zplug update ; $(report) "zplug upate"
zplug clean ; $(report) "zplug cleaned"
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