-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
75 lines (63 loc) · 1.53 KB
/
Makefile
File metadata and controls
75 lines (63 loc) · 1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
XDGC = $(HOME)/.config
DOTDIR = dots
LNFLAGS =
LINK = ln -sfn $(LNFLAGS)
HOME_DIRS = .config bin \
.local .local/share .local/src .local/bin \
doc doc/desk doc/www \
media media/pic media/vid media/music
### Targets
.PHONY: all
all: dir xdg
# for $XDG_CONFIG_HOME/* type targets
XDGC_TARGETS = mpv \
sway \
dunst \
rofi \
fontconfig \
base16-shell \
tmux \
htop \
nvim \
emacs \
doom \
darktable \
eww \
qmk \
aerospace \
fish \
ghostty \
xonsh \
git
.PHONY: $(XDGC_TARGETS)
$(XDGC_TARGETS):
$(LINK) ../$(DOTDIR)/$@ $(XDGC)/$(@F)
.PHONY: dir
dir:
cd '$(HOME)'; mkdir -p $(HOME_DIRS)
.PHONY: xdg
xdg:
$(LINK) ../$(DOTDIR)/$@/user-dirs.dirs $(XDGC)
FIREFOX_DIR = $(HOME)/.mozilla/firefox
.PHONY: firefox
firefox:
mkdir -p '$(FIREFOX_DIR)/profile/chrome'
cp $@/profiles.ini '$(HOME)/.mozilla/firefox'
cd '$(FIREFOX_DIR)/profile/chrome' && \
$(LINK) ../../../../$(DOTDIR)/$@/*.css .
.PHONY: bin
bin:
mkdir -p $(HOME)/bin
cd $(HOME)/bin && $(LINK) ../$(DOTDIR)/$@/* .
.PHONY: vim
vim:
mkdir -p $(HOME)/.vim $(HOME)/.cache/vim
$(LINK) $(DOTDIR)/$@/vimrc ../.vimrc
$(LINK) ../$(DOTDIR)/$@/vim-plug ../.vim/
$(LINK) ../$(DOTDIR)/$@/snippets ../.vim/
.PHONY: restic
restic:
$(LINK) $(DOTDIR)/$@/exclude ../.resticexclude
.PHONY: xkb
xkb:
(cd / && sudo patch -u -p0 < "$(PWD)/$@/patch")