X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/bd78babfeb92083f4e5e153603397ea0ec64dd4c..refs/heads/uh-backup:/Makefile diff --git a/Makefile b/Makefile index 51eeb96..87fa04d 100644 --- a/Makefile +++ b/Makefile @@ -1,30 +1,138 @@ APATH := $(realpath .) -RPATH := $(subst $(wildcard ~/),,$(APATH)) - -FILES := -DOTFILES := bash* flexget vimrc - -.PHONY: install $(FILES) $(DOTFILES) -install: $(FILES) $(DOTFILES) - -$(FILES): - if [[ -f ~/$@ || -d ~/$@ ]]; then \ - if [[ -d $@ ]]; then \ - cp -rf ~/$@/* $@; \ - else \ - cp -rf ~/$@ $@; \ - fi; \ - rm -r ~/$@; \ - fi; - ln -sf $(RPATH)/$@ ~/.$@ - -$(DOTFILES): - if [[ -f ~/.$@ || -d ~/.$@ ]]; then \ - if [[ -d $@ ]]; then \ - cp -rf ~/.$@/* $@; \ - else \ - cp -rf ~/.$@ $@; \ - fi; \ - rm -r ~/.$@; \ - fi; - ln -sf $(RPATH)/$@ ~/.$@ + +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 $@ + +awesome: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/awesome $(XDG_CONFIG_HOME)/awesome +.PHONY: awesome + +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 + +git: $(XDG_CONFIG_HOME) + ln -sfT $(APATH)/git $(XDG_CONFIG_HOME)/git + ln -sfT $(APATH)/tig $(XDG_CONFIG_HOME)/tig +.PHONY: git + +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 + mkdir -p $(XDG_DATA_HOME)/mpd/playlists + systemctl --user enable 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 + +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)/zprofile ~/.zprofile + ln -sfT $(APATH)/zshenv ~/.zshenv + ln -sfT $(APATH)/zsh $(XDG_CONFIG_HOME)/zsh + ln -sfT $(APATH)/aliases $(XDG_CONFIG_HOME)/aliases + mkdir -p $(XDG_CACHE_HOME)/zsh + mkdir -p $(XDG_DATA_HOME)/zsh +.PHONY: zsh + +$(FILES): + @if [[ -e ~/$@ && ! -L ~/$@ ]]; then \ + if [[ -d $@ ]]; then \ + cp -r ~/$@/* $@; \ + else \ + cp -r ~/$@ $@; \ + fi; \ + rm -r ~/$@; \ + fi; + ln -sfT $(APATH)/$@ ~/$@ + +$(DOTFILES): + @if [[ -e ~/.$@ && ! -L ~/.$@ ]]; then \ + if [[ -d .$@ ]]; then \ + cp -r ~/.$@/* $@; \ + else \ + cp -r ~/.$@ $@; \ + fi; \ + rm -r ~/.$@; \ + fi; + ln -sfT $(APATH)/$@ ~/.$@ + +$(CONFIGFILES): $(XDG_CONFIG_HOME) + @if [[ -e $(XDG_CONFIG_HOME)/$@ && ! -L $(XDG_CONFIG_HOME)/$@ ]]; then \ + if [[ -d .config/$@ ]]; then \ + cp -r $(XDG_CONFIG_HOME)/$@/* $@; \ + else \ + cp -r $(XDG_CONFIG_HOME)/$@ $@; \ + fi; \ + rm -r $(XDG_CONFIG_HOME)/$@; \ + fi; + ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@