blob: 09c3b53163338004623166ded9e47310ff591dc9 (
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
|
.POSIX:
DMENU = dmenu_farajli-5.3.0
DWM = dwm_farajli-6.5.2
FONT1 = LiberationMono
FONT2 = JetBrainsMono
SLSTATUS = slstatus_farajli-1.0.1
ST = st_farajli-0.9.2.1
FONTS = $(FONT1) $(FONT2)
SOFTWARE = $(DWM) $(DMENU) $(SLSTATUS) $(ST)
ARCHIVE = $(SOFTWARE:=.tar.gz) $(FONTS:=.tar.gz)
BINDIR = $(HOME)/.local/bin
CONFDIR = $(HOME)/.config
FONTDIR = $(HOME)/.local/share/fonts/
BASHPROFILE = $(HOME)/.bash_profile
BASHRC = $(HOME)/.bashrc
GITCONFIG = $(HOME)/.gitconfig
ZCACHE = $(HOME)/.cache/zsh/history
ZPROFILE = $(HOME)/.zprofile
ZSHRC = $(HOME)/.zshrc
INSTALL_TARGETS = dmenu-install dwm-install font1-install font2-install slstatus-install st-install
DIRECTORIES = $(BINDIR) $(CONFDIR) $(FONTDIR)
COPY = cp -r
LINK = ln -sf
all: config $(DIRECTORIES) scripts desktop
desktop: $(INSTALL_TARGETS)
$(BINDIR) $(CONFDIR) $(FONTDIR):
mkdir -p $@
config: $(CONFDIR)
mkdir -p $$(dirname $(ZCACHE))
mkdir -p $(CONFDIR)/sites
touch $(ZCACHE)
$(COPY) config/bash/bashrc $(BASHRC)
$(COPY) config/dunst $(CONFDIR)
$(COPY) config/lf $(CONFDIR)
$(COPY) config/mimeapps.list $(CONFDIR)
$(COPY) config/mpv $(CONFDIR)
$(COPY) config/nsxiv $(CONFDIR)
$(COPY) config/nvim $(CONFDIR)
$(COPY) config/picom $(CONFDIR)
$(COPY) config/qutebrowser $(CONFDIR)
$(COPY) config/shell $(CONFDIR)
$(COPY) config/sites/bookmarks.txt $(CONFDIR)/sites
$(COPY) config/sxiv $(CONFDIR)
$(COPY) config/vim $(CONFDIR)
$(COPY) config/wallpapers $(CONFDIR)
$(COPY) config/x11 $(CONFDIR)
$(COPY) config/zathura $(CONFDIR)
$(COPY) config/zsh/zshrc $(ZSHRC)
$(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: $(BINDIR)
mkdir -p $(BINDIR)
$(COPY) scripts/* $(BINDIR)
server:
$(COPY) config/bash/bashrc $(BASHRC)
$(COPY) config/lf $(CONFDIR)
$(COPY) config/shell $(CONFDIR)
$(COPY) config/vim $(CONFDIR)
$(COPY) config/zsh/zshrc $(ZSHRC)
$(COPY) scripts/noc
arch-linux:
sudo $(COPY) distros/arch-linux/pacman.conf /etc
sync: $(ARCHIVE)
$(ARCHIVE):
curl -LO https://farajli.net/archive/$@
dmenu-install: $(DMENU).tar.gz $(BINDIR)
dwm-install: $(DWM).tar.gz $(BINDIR)
slstatus-install: $(SLSTATUS).tar.gz $(BINDIR)
st-install: $(ST).tar.gz $(BINDIR)
font1-install: $(FONT1).tar.gz $(FONTDIR)
font2-install: $(FONT2).tar.gz $(FONTDIR)
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)
fc-cache
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) $(FONTS) $(SOFTWARE)
.PHONY: all arch-linux clean config desktop directory dist \
fonts git scripts server sync \
$(INSTALL_TARGETS)
|