MSG=@
IGNORE_DOT_FILES=. .. .git .gitmodules .gitignore
DOT_FILES=$(filter-out $(IGNORE_DOT_FILES), $(wildcard .*))
DOT_INSTALLED=$(foreach dot, $(DOT_FILES), $(HOME)/$(dot))
ROOT_DIR:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))

PKG_ARCH_BASE=aspell-en aspell-fr conky cscope ctags dunst eog firefox noto-fonts-emoji fzf git gmrun gnome-terminal gvim hunspell-fr hyphen-en hyphen-fr lightdm numlockx openssh polkit-gnome python3 sudo tint2 tmux unrar unzip udevil zsh
PKG_ARCH_DEV=autopep8 bear cppcheck clang flake8 gcc hstr shellcheck strace

ifeq ($(USER), root)
$(info Should not be run as root)
$(info Put youself in wheel group and add \"%wheel ALL=(ALL) NOPASSWD: ALL\" to /etc/sudoers)
$(error Should not be run as root)
endif

all:$(DOT_INSTALLED)
	git submodule update --init

arch_all:$(DOT_INSTALLED) arch_install_base arch_install_dev udevil_install
	git submodule update --init

$(HOME)/%: $(ROOT_DIR)/%
	$(MSG)echo "installing $@"
	$(MSG)ln -s $< $@

/usr/bin/yay:
	sudo pacman -Sy --needed git base-devel
	git clone https://aur.archlinux.org/yay.git
	cd yay && makepkg -s -i
	rm -rf yay

arch_install_base: /usr/bin/yay
	$(info going to install $(PKG_ARCH_BASE))
	yay -Sy --needed  $(PKG_ARCH_BASE)

arch_install_dev: /usr/bin/yay
	$(info going to install $(PKG_ARCH_DEV))
	yay -Sy --needed  $(PKG_ARCH_DEV)


udevil_install: arch_install_base
ifneq (,$(wildcard /etc/systemd/system/multi-user.target.wants/devmon@$(USER).service))
	$(MSG)echo "udevil already installed"
else
	sudo systemctl enable devmon@$(USER)
	sudo systemctl start devmon@$(USER)
endif
