]> git.rmz.io Git - dotfiles.git/blob - Makefile
0671e474abbabbc32e7cec113644a9128c4b5397
[dotfiles.git] / Makefile
1 APATH := $(realpath .)
2
3 XDG_CONFIG_HOME ?= ~/.config
4 XDG_DATA_HOME ?= ~/.local/share
5
6 FILES := bin
7 DOTFILES := goobookrc msmtp* profile tmux.conf weechat Xresources
8 CONFIGFILES := compton.conf mpv offlineimap ranger retroarch xbindkeys xkb
9
10 .PHONY: install $(FILES) $(DOTFILES) $(CONFIGFILES)
11 install: $(FILES) $(DOTFILES) $(CONFIGFILES)
12
13 $(XDG_DATA_HOME) $(XDG_CONFIG_HOME):
14 mkdir -p $@
15
16 task: $(XDG_CONFIG_HOME)
17 ln -sfT $(APATH)/taskrc $(XDG_CONFIG_HOME)/taskrc
18
19 git: $(XDG_CONFIG_HOME)
20 ln -sfT $(APATH)/git $(XDG_CONFIG_HOME)/git
21 ln -sfT $(APATH)/tig $(XDG_CONFIG_HOME)/tig
22 .PHONY: git
23
24 vim: $(XDG_CONFIG_HOME)
25 ln -sfT $(APATH)/vim $(XDG_CONFIG_HOME)/vim
26 mkdir -p $(XDG_DATA_HOME)/vim
27 git clone https://github.com/gmarik/vundle $(XDG_DATA_HOME)/vim/vundle
28 .PHONY: vim
29
30 mutt: $(XDG_CONFIG_HOME)
31 ln -sfT $(APATH)/mutt $(XDG_CONFIG_HOME)/mutt
32 .PHONY: mutt
33
34 gdb:
35 mkdir $(XDG_DATA_HOME)/gdb
36 ln -sfT $(APATH)/gdbinit ~/.gdbinit
37 ln -sfT $(APATH)/cgdb ~/.cgdb
38 .PHONY: gdb
39
40 awesome: $(XDG_CONFIG_HOME)
41 ln -sfT $(APATH)/awesome $(XDG_CONFIG_HOME)/awesome
42 .PHONY: awesome
43
44 qutebrowser: $(XDG_CONFIG_HOME)
45 ln -sfT $(APATH)/qutebrowser $(XDG_CONFIG_HOME)/qutebrowser
46 mkdir -p ~/downloads
47 .PHONY: qutebrowser
48
49 mpd: systemd
50 ln -sfT $(APATH)/mpd $(XDG_CONFIG_HOME)/mpd
51 mkdir -p $(XDG_DATA_HOME)/mpd/playlists
52 systemctl --user enable mpd
53 systemctl --user start mpd
54 .PHONY: mpd
55
56 ncmpcpp: $(XDG_CONFIG_HOME)
57 ln -sfT $(APATH)/ncmpcpp $(XDG_CONFIG_HOME)/ncmpcpp
58 mkdir -p $(XDG_DATA_HOME)/mpd/lyrics
59 .PHONY: ncmpcpp
60
61 systemd: $(XDG_CONFIG_HOME)
62 ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@
63 .PHONY: systemd
64
65 gnupg: systemd
66 ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@
67 systemctl --user enable gpg-agent.socket gpg-agent-extra.socket gpg-agent-browser.socket dirmngr.socket
68 systemctl --user start gpg-agent.socket gpg-agent-extra.socket gpg-agent-browser.socket dirmngr.socket
69 .PHONY: gnupg
70
71 zsh: $(XDG_CONFIG_HOME)
72 ln -sfT $(APATH)/zshrc ~/.zshrc
73 ln -sfT $(APATH)/zprofile ~/.zprofile
74 ln -sfT $(APATH)/zshenv ~/.zshenv
75 ln -sfT $(APATH)/zsh $(XDG_CONFIG_HOME)/zsh
76 ln -sfT $(APATH)/aliases $(XDG_CONFIG_HOME)/aliases
77 mkdir -p ~/.cache/zsh
78 .PHONY: zsh
79
80 xprofile:
81 ln -sfT $(APATH)/xprofile ~/.xprofile
82 .PHONY: xprofile
83
84 dircolors: $(XDG_CONFIG_HOME)
85 ln -sfT $(APATH)/dircolors $(XDG_CONFIG_HOME)/dircolors
86 .PHONY: dircolors
87
88 urxvt: $(XDG_CONFIG_HOME)
89 ln -sfT $(APATH)/urxvt $(XDG_CONFIG_HOME)/urxvt
90 .PHONY: urxvt
91
92 $(FILES):
93 @if [[ -e ~/$@ && ! -L ~/$@ ]]; then \
94 if [[ -d $@ ]]; then \
95 cp -r ~/$@/* $@; \
96 else \
97 cp -r ~/$@ $@; \
98 fi; \
99 rm -r ~/$@; \
100 fi;
101 ln -sfT $(APATH)/$@ ~/$@
102
103 $(DOTFILES):
104 @if [[ -e ~/.$@ && ! -L ~/.$@ ]]; then \
105 if [[ -d .$@ ]]; then \
106 cp -r ~/.$@/* $@; \
107 else \
108 cp -r ~/.$@ $@; \
109 fi; \
110 rm -r ~/.$@; \
111 fi;
112 ln -sfT $(APATH)/$@ ~/.$@
113
114 $(CONFIGFILES): $(XDG_CONFIG_HOME)
115 @if [[ -e $(XDG_CONFIG_HOME)/$@ && ! -L $(XDG_CONFIG_HOME)/$@ ]]; then \
116 if [[ -d .config/$@ ]]; then \
117 cp -r $(XDG_CONFIG_HOME)/$@/* $@; \
118 else \
119 cp -r $(XDG_CONFIG_HOME)/$@ $@; \
120 fi; \
121 rm -r $(XDG_CONFIG_HOME)/$@; \
122 fi;
123 ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@