APATH := $(realpath .)
XDG_CONFIG_HOME ?= ~/.config
+XDG_CACHE_HOME ?= ~/.cache
XDG_DATA_HOME ?= ~/.local/share
FILES := bin
DOTFILES := goobookrc msmtp* profile tmux.conf weechat Xresources
CONFIGFILES := compton.conf mpv offlineimap ranger retroarch xbindkeys xkb
+.PHONY: core_files
+core_files: dircolors git ssh systemd vim zsh
+
.PHONY: install $(FILES) $(DOTFILES) $(CONFIGFILES)
install: $(FILES) $(DOTFILES) $(CONFIGFILES)
$(XDG_DATA_HOME) $(XDG_CONFIG_HOME):
mkdir -p $@
-task: $(XDG_CONFIG_HOME)
- ln -sfT $(APATH)/taskrc $(XDG_CONFIG_HOME)/taskrc
-
-git: $(XDG_CONFIG_HOME)
- ln -sfT $(APATH)/git $(XDG_CONFIG_HOME)/git
- ln -sfT $(APATH)/tig $(XDG_CONFIG_HOME)/tig
-.PHONY: git
-
-vim: $(XDG_CONFIG_HOME)
- ln -sfT $(APATH)/vim $(XDG_CONFIG_HOME)/vim
- mkdir -p $(XDG_DATA_HOME)/vim
- git clone https://github.com/gmarik/vundle $(XDG_DATA_HOME)/vim/vundle
-.PHONY: vim
+awesome: $(XDG_CONFIG_HOME)
+ ln -sfT $(APATH)/awesome $(XDG_CONFIG_HOME)/awesome
+.PHONY: awesome
-mutt: $(XDG_CONFIG_HOME)
- ln -sfT $(APATH)/mutt $(XDG_CONFIG_HOME)/mutt
-.PHONY: mutt
+dircolors: $(XDG_CONFIG_HOME)
+ ln -sfT $(APATH)/dircolors $(XDG_CONFIG_HOME)/dircolors
+.PHONY: dircolors
gdb:
mkdir $(XDG_DATA_HOME)/gdb
+ ln -sfT $(APATH)/gdb $(XDG_CONFIG_HOME)/gdb
ln -sfT $(APATH)/gdbinit ~/.gdbinit
ln -sfT $(APATH)/cgdb ~/.cgdb
.PHONY: gdb
-awesome: $(XDG_CONFIG_HOME)
- ln -sfT $(APATH)/awesome $(XDG_CONFIG_HOME)/awesome
-.PHONY: awesome
+git: $(XDG_CONFIG_HOME)
+ ln -sfT $(APATH)/git $(XDG_CONFIG_HOME)/git
+ ln -sfT $(APATH)/tig $(XDG_CONFIG_HOME)/tig
+.PHONY: git
-qutebrowser: $(XDG_CONFIG_HOME)
- ln -sfT $(APATH)/qutebrowser $(XDG_CONFIG_HOME)/qutebrowser
- mkdir -p ~/downloads
-.PHONY: qutebrowser
+gnupg: systemd
+ ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@
+ systemctl --user enable gpg-agent.socket gpg-agent-extra.socket gpg-agent-browser.socket dirmngr.socket
+ systemctl --user start gpg-agent.socket gpg-agent-extra.socket gpg-agent-browser.socket dirmngr.socket
+.PHONY: gnupg
mpd: systemd
ln -sfT $(APATH)/mpd $(XDG_CONFIG_HOME)/mpd
systemctl --user start mpd
.PHONY: mpd
+mutt: $(XDG_CONFIG_HOME)
+ ln -sfT $(APATH)/mutt $(XDG_CONFIG_HOME)/mutt
+.PHONY: mutt
+
ncmpcpp: $(XDG_CONFIG_HOME)
ln -sfT $(APATH)/ncmpcpp $(XDG_CONFIG_HOME)/ncmpcpp
mkdir -p $(XDG_DATA_HOME)/mpd/lyrics
.PHONY: ncmpcpp
+qutebrowser: $(XDG_CONFIG_HOME)
+ ln -sfT $(APATH)/qutebrowser $(XDG_CONFIG_HOME)/qutebrowser
+ mkdir -p ~/downloads
+.PHONY: qutebrowser
+
+ssh:
+ ln -sfT $(APATH)/ssh/config ~/.ssh/config
+.PHONY: ssh
+
systemd: $(XDG_CONFIG_HOME)
ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@
.PHONY: systemd
-gnupg: systemd
- ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@
- systemctl --user enable gpg-agent.socket gpg-agent-extra.socket gpg-agent-browser.socket dirmngr.socket
- systemctl --user start gpg-agent.socket gpg-agent-extra.socket gpg-agent-browser.socket dirmngr.socket
-.PHONY: gnupg
+task: $(XDG_CONFIG_HOME)
+ ln -sfT $(APATH)/taskrc $(XDG_CONFIG_HOME)/taskrc
+.PHONY: task
+
+urxvt: $(XDG_CONFIG_HOME)
+ ln -sfT $(APATH)/urxvt $(XDG_CONFIG_HOME)/urxvt
+.PHONY: urxvt
+
+vim: $(XDG_CONFIG_HOME)
+ ln -sfT $(APATH)/vim $(XDG_CONFIG_HOME)/vim
+ mkdir -p $(XDG_DATA_HOME)/vim
+ -git clone https://github.com/gmarik/vundle $(XDG_DATA_HOME)/vim/vundle
+.PHONY: vim
+
+yay: $(XDG_CONFIG_HOME)
+ ln -sfT $(APATH)/yay $(XDG_CONFIG_HOME)/yay
+ mkdir -p $(XDG_CACHE_HOME)/yay
+
+xprofile:
+ ln -sfT $(APATH)/xprofile ~/.xprofile
+.PHONY: xprofile
zsh: $(XDG_CONFIG_HOME)
ln -sfT $(APATH)/zshrc ~/.zshrc
ln -sfT $(APATH)/zshenv ~/.zshenv
ln -sfT $(APATH)/zsh $(XDG_CONFIG_HOME)/zsh
ln -sfT $(APATH)/aliases $(XDG_CONFIG_HOME)/aliases
- mkdir -p ~/.cache/zsh
+ mkdir -p $(XDG_CACHE_HOME)/zsh
+ mkdir -p $(XDG_DATA_HOME)/zsh
.PHONY: zsh
-xprofile:
- ln -sfT $(APATH)/xprofile ~/.xprofile
-.PHONY: xprofile
-
-dircolors: $(XDG_CONFIG_HOME)
- ln -sfT $(APATH)/dircolors $(XDG_CONFIG_HOME)/dircolors
-.PHONY: dircolors
-
-urxvt: $(XDG_CONFIG_HOME)
- ln -sfT $(APATH)/urxvt $(XDG_CONFIG_HOME)/urxvt
-.PHONY: urxvt
-
$(FILES):
@if [[ -e ~/$@ && ! -L ~/$@ ]]; then \
if [[ -d $@ ]]; then \