.PHONY: shell zsh tmux nvim foot sway swaylock mako tofi wlogout ncspot waybar setup update install

help:
	@echo "\nWelcome to my configs, feel free to use and modify them as you like! \n\nTo install all of them to your system, just '$$ make install'.\nIf you just want some of them, use '$$ make <directory_name>' for a specific application.\nFor a dry-run of any of the targets, just prepend '-dry' to the targets name.\nNote: This management relies on GNU Stow, so to work properly, please ensure you have 'stow' installed...\n\nYou don't want to use a config anymore? Prepend '-uninstall' to any config installed via the 'install'-command from earlier.\n\nTo much stuff you don't need?\n\t\tCheck out 'https://git.xesc.de/xesc'\nfor the individual repos of the applicatons.\n"

install: setup shell zsh tmux nvim foot sway swaylock mako tofi wlogout ncspot waybar

setup:
	git submodule update --init

update:
	git pull
	git submodule update --remote

shell:
	stow -v -t /home/"$$USER"/ shell
	ln -s /home/"$$USER"/.config/shell/profile /home/"$$USER"/.zprofile

zsh:
	stow -v -t /home/"$$USER"/ zsh

tmux:
	stow -v -t /home/"$$USER"/ tmux

nvim:
	stow -v -t /home/"$$USER"/ nvim

foot: 
	stow -v -t /home/"$$USER"/ foot

sway: 
	stow -v -t /home/"$$USER"/ sway

swaylock: 
	stow -v -t /home/"$$USER"/ swaylock

mako: 
	stow -v -t /home/"$$USER"/ mako

tofi: 
	stow -v -t /home/"$$USER"/ tofi

wlogout: 
	stow -v -t /home/"$$USER"/ wlogout

ncspot: 
	stow -v -t /home/"$$USER"/ ncspot

waybar:
	stow -v -t /home/"$$USER"/ waybar


install-dry: shell-dry zsh-dry tmux-dry nvim-dry foot-dry sway-dry swaylock-dry mako-dry tofi-dry wlogout-dry ncspot-dry waybar-dry

shell-dry:
	stow -n -v -t /home/"$$USER"/ shell

zsh-dry:
	stow -n -v -t /home/"$$USER"/ zsh

tmux-dry:
	stow -n -v -t /home/"$$USER"/ tmux

nvim-dry:
	stow -n -v -t /home/"$$USER"/ nvim

foot-dry:
	stow -n -v -t /home/"$$USER"/ foot

sway-dry:
	stow -n -v -t /home/"$$USER"/ sway

swaylock-dry:
	stow -n -v -t /home/"$$USER"/ swaylock

mako-dry:
	stow -n -v -t /home/"$$USER"/ mako

tofi-dry:
	stow -n -v -t /home/"$$USER"/ tofi

wlogout-dry:
	stow -n -v -t /home/"$$USER"/ wlogout

ncspot-dry:
	stow -n -v -t /home/"$$USER"/ ncspot

waybar-dry:
	stow -n -v -t /home/"$$USER"/ waybar

install-uninstall: shell-uninstall zsh-uninstall tmux-uninstall nvim-uninstall foot-uninstall sway-uninstall swaylock-uninstall mako-uninstall tofi-uninstall wlogout-uninstall ncspot-uninstall waybar-uninstall

shell-uninstall:
	stow -D -v -t /home/"$$USER"/ shell
	rm -f /home/"$$USER"/.zprofile

zsh-uninstall:
	stow -D -v -t /home/"$$USER"/ zsh

tmux-uninstall:
	stow -D -v -t /home/"$$USER"/ tmux

nvim-uninstall:
	stow -D -v -t /home/"$$USER"/ nvim

foot-uninstall:
	stow -D -v -t /home/"$$USER"/ foot

sway-uninstall:
	stow -D -v -t /home/"$$USER"/ sway

swaylock-uninstall:
	stow -D -v -t /home/"$$USER"/ swaylock

mako-uninstall:
	stow -D -v -t /home/"$$USER"/ mako

tofi-uninstall:
	stow -D -v -t /home/"$$USER"/ tofi

wlogout-uninstall:
	stow -D -v -t /home/"$$USER"/ wlogout

ncspot-uninstall:
	stow -D -v -t /home/"$$USER"/ ncspot

waybar-uninstall:
	stow -D -v -t /home/"$$USER"/ waybar