-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
52 lines (43 loc) · 1.46 KB
/
Makefile
File metadata and controls
52 lines (43 loc) · 1.46 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
.PHONY: all
all: install
STOWS += vscode
STOWS += git
STOWS += vim
STOWS += zsh
STOWS += bins
.PHONY: install
install:
stow -v ${STOWS}
#####################
# brew apps
/opt/homebrew/bin/brew:
bash -c "$$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" || true
# $(info add target $(shell VAR=$2; echo $${VAR:-/opt/homebrew/bin/$1}) for package $1)
# create one make target per dependency using the app installation path as target dependency
define BREW_PACKAGE_TARGET
BREW_TARGETS += $(shell VAR=$2; echo $${VAR:-/opt/homebrew/bin/$1})
$(shell VAR=$2; echo $${VAR:-/opt/homebrew/bin/$1}):
brew install $1
endef
$(eval $(call BREW_PACKAGE_TARGET,stow))
# term
$(eval $(call BREW_PACKAGE_TARGET,ripgrep,/opt/homebrew/bin/rg))
$(eval $(call BREW_PACKAGE_TARGET,fd))
$(eval $(call BREW_PACKAGE_TARGET,pstree))
$(eval $(call BREW_PACKAGE_TARGET,zsh-completions,/opt/homebrew/Cellar/zsh-completions))
$(eval $(call BREW_PACKAGE_TARGET,jq))
$(eval $(call BREW_PACKAGE_TARGET,yq))
$(eval $(call BREW_PACKAGE_TARGET,htop))
$(eval $(call BREW_PACKAGE_TARGET,direnv))
# dev
$(eval $(call BREW_PACKAGE_TARGET,git))
$(eval $(call BREW_PACKAGE_TARGET,git-gui))
$(eval $(call BREW_PACKAGE_TARGET,shellcheck))
$(eval $(call BREW_PACKAGE_TARGET,uv))
$(eval $(call BREW_PACKAGE_TARGET,pyenv))
$(eval $(call BREW_PACKAGE_TARGET,python@3.14,/opt/homebrew/bin/python3.14))
.PHONY: brew
brew: /opt/homebrew/bin/brew $(BREW_TARGETS)
.PHONY: check
check:
shellcheck zsh/.zshrc