-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmakefile
57 lines (40 loc) · 1.58 KB
/
makefile
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
include preamble.mk
# disables login messages
$(call mod,hush): $(BASE)/.hushlogin;
$(call base,.hushlogin):;
touch $@
# user profiles, including env variables and configurations
$(call mod,profile): $(BASE)/.profile;
$(call base,.profile): profile/profile.sh;
$(install) $< $@
# alacritty configuration
$(call mod,alacritty): $(call conf,alacritty/alacritty.toml alacritty/catppuccin)
$(call conf,alacritty/%): alacritty/%;
$(install) $< $@
# neovim configuration
$(call mod,nvim): $(CONF)/nvim/init.lua $(CONF)/nvim/lua/keymaps.lua $(CONF)/nvim/lua/mode.lua $(addprefix $(CONF)/,$(wildcard nvim/lua/plugins/*.lua));
$(call conf,nvim/%): nvim/%;
$(install) $< $@
$(call mod,nvim-ftdetect): $(addprefix $(CONF)/,$(wildcard nvim/ftdetect/*));
$(call conf,nvim/ftdetect/%): nvim/ftdetect/%;
$(install) $< $@
# bash configuration
$(call mod,bash): $(addprefix $(BASE)/.bash,_profile _login _logout rc);
$(call conf,.bash_%): bash/%;
$(install) $< $@
$(call conf,.bashrc): bash/rc;
$(install) $< $@
# zsh configuration
$(call mod,zsh): $(call base,.zprofile .zshrc);
$(call base,.zprofile): zsh/profile.zsh;
$(install) $< $@
$(call base,.zshrc):
ZSH=$(call conf,ohmyzsh) sh -c "$$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# pyenv installation
$(call mod,pyenv): $(DATA)/pyenv;
$(call data,pyenv):
git clone https://github.com/pyenv/pyenv.git $@
git clone https://github.com/pyenv/pyenv-virtualenv.git $@/plugins/pyenv-virtualenv
$(call opt,pyenv,profile): $(DATA)/profile/70-pyenv.sh;
$(call data,%-pyenv.sh): pyenv/profile.sh;
$(install) $< $@