blob: e59d736d35be3b641e18b319d28d8edfa2d8e1a4 (
plain)
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
.POSIX:
DWM = dwm-farajli-6.5
ST = st-farajli-0.9.2
DMENU = dmenu-farajli-5.3
SLSTATUS = slstatus-farajli-1.0
FONT1 = LiberationMono
FONT2 = JetBrainsMono
SOFTWARE = $(DWM) $(DMENU) $(SLSTATUS) $(ST)
FONTS = $(FONT1) $(FONT2)
ARCHIVE = $(SOFTWARE:=.tar.gz) $(FONTS:=.tar.gz)
CONFDIR = $(HOME)/.config
MUSICDIR = $(HOME)/music
PROJDIR = $(HOME)/proj
BOOKDIR = $(HOME)/tproj
TESTPROJDIR = $(HOME)/tproj
BINDIR = $(HOME)/.local/bin
FONTDIR = $(HOME)/.local/share/fonts/
BASHRC = $(HOME)/.bashrc
ZSHRC = $(HOME)/.zshrc
ZPROFILE = $(HOME)/.zprofile
BASHPROFILE = $(HOME)/.bash_profile
GITCONFIG = $(HOME)/.gitconfig
COPY = cp -r
LINK = ln -sf
all: config scripts directory
full: config scripts directory desktop
desktop: dmenu-install dwm-install slstatus-install st-install font1-install font2-install check
config:
mkdir -p $(CONFDIR)/sites
$(COPY) config/bash/bashrc $(BASHRC)
$(COPY) config/zsh/zshrc $(ZSHRC)
$(COPY) config/lf $(CONFDIR)
$(COPY) config/mpv $(CONFDIR)
$(COPY) config/sxiv $(CONFDIR)
$(COPY) config/nsxiv $(CONFDIR)
$(COPY) config/picom $(CONFDIR)
$(COPY) config/qutebrowser $(CONFDIR)
$(COPY) config/shell $(CONFDIR)
$(COPY) config/vim $(CONFDIR)
$(COPY) config/nvim $(CONFDIR)
$(COPY) config/x11 $(CONFDIR)
$(COPY) config/zathura $(CONFDIR)
$(COPY) config/mimeapps.list $(CONFDIR)
$(COPY) config/sites/bookmarks.txt $(CONFDIR)/sites
$(LINK) $(CONFDIR)/shell/profile $(BASHPROFILE)
$(LINK) $(CONFDIR)/shell/profile $(ZPROFILE)
git:
sed '/# signingkey = <to be set manually>/d' config/git/gitconfig > $(GITCONFIG)
@echo "#####################################################################"
@echo "Warning: Git commit/tag signing is enabled but signingKey is not set." >&2
@echo "#####################################################################"
@echo "Configure it manually using:" >&2
@echo " gpg --list-secret-keys --keyid-format=long" >&2
@echo " git config --global user.signingkey <YOUR_KEY_ID>" >&2
scripts:
mkdir -p $(BINDIR)
$(COPY) scripts/* $(BINDIR)
server:
$(COPY) config/bash/bashrc $(BASHRC)
$(COPY) config/zsh/zshrc $(ZSHRC)
$(COPY) config/lf $(CONFDIR)
$(COPY) config/shell $(CONFDIR)
$(COPY) config/vim $(CONFDIR)
arch-linux:
sudo $(COPY) distros/arch-linux/pacman.conf /etc
directory:
mkdir -p $(CONFDIR) \
$(MUSICDIR) \
$(PROJDIR) \
$(BOOKDIR) \
$(TESTPROJDIR) \
$(BINDIR)
sync: $(ARCHIVE)
$(ARCHIVE):
curl -LO https://farajli.net/archive/$@
dmenu-install: $(DMENU).tar.gz
dwm-install: $(DWM).tar.gz
slstatus-install: $(SLSTATUS).tar.gz
st-install: $(ST).tar.gz
font1-install: $(FONT1).tar.gz
font2-install: $(FONT2).tar.gz
dmenu-install dwm-install slstatus-install st-install:
tar xf $<
PREFIX=~/.local make -C $$(basename $< .tar.gz) install
font1-install font2-install:
tar xf $<
$(COPY) $$(basename $< .tar.gz) $(FONTDIR)
check:
@./dep.sh
fullcheck:
@./dep.sh --optional
dist: clean
mkdir -p slcf/
cp -R config distros scripts dep.sh Makefile README slcf/
tar -czf slcf.tar.gz slcf/
rm -rf slcf/
clean:
rm -rf slcf/ slcf.tar.gz $(ARCHIVE) $(SOFTWARE) $(FONTS)
.PHONY: all arch-linux check clean config desktop directory dist \
dmenu-install dwm-install font1-install font2-install fonts \
full fullcheck git scripts server slstatus-install st-install sync
|