-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
102 lines (85 loc) · 3.62 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
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
$stdout.sync = true
.DEFAULT_GOAL := help
# cribbed from https://marmelab.com/blog/2016/02/29/auto-documented-makefile.html and https://news.ycombinator.com/item?id=11195539
help: ## print documentation for available commands
@awk -F ':|##' \
'/^[^\t].+?:.*?##/ {\
printf "\033[36m%-30s\033[0m %s\n", $$1, $$NF \
}' $(MAKEFILE_LIST)
.PHONY: install
install: brew bundle asdf cows git pock sounds vscode zsh #wm ## install & configure everything
.PHONY: brew
brew: ## install homebrew
sh -c $$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)
.PHONY: bundle
bundle: brew ## install apps from Brewfile
brew bundle
.PHONY: asdf
asdf: ## configure asdf, install plugins
ln -Ffs $(PWD)/.asdfrc ~/.asdfrc
ln -Ffs $(PWD)/.tool-versions ~/.tool-versions
ln -Ffs $(PWD)/gemrc ~/.gemrc
asdf plugin-add ruby | sed '/already/d'
asdf install ruby latest
asdf plugin-add nodejs | sed '/already/d'
asdf install nodejs lts
asdf plugin-add yarn | sed '/already/d'
asdf install yarn latest
.PHONY: cows
cows: ## custom cows
install -m 644 cows/*.cow $(HOMEBREW_PREFIX)/opt/neo-cowsay/share/cows/
ln -Ffs $(PWD)/bin/lolcowsay /usr/local/bin/lolcowsay
.PHONY: entertainment
entertainment: ## install entertainment apps
brew bundle --file=Entertainment.brewfile
.PHONY: git
git: ## configure git
ln -Ffs $(PWD)/.gitconfig ~/.gitconfig
ln -Ffs $(PWD)/.gitignore ~/.gitignore
.PHONY: pock
pock: ## configure pock
ln -Ffs $(PWD)/Library/Preferences/com.pigigaldi.pock.plist ~/Library/Preferences/com.pigigaldi.pock.plist
.PHONY: sounds
sounds: ## install custom notification sounds
install -m 644 sounds/*.aif ~/Library/Sounds/
.PHONY: ubersicht
ubersicht: ## configure ubersicht
rm -rf ~/Library/Application\ Support/Übersicht/widgets
ln -Ffs $(PWD)/ubersicht/widgets ~/Library/Application\ Support/Übersicht/
.PHONY: vscode
vscode: ## configure vscode, install extensions
code --install-extension bierner.markdown-emoji
code --install-extension bierner.markdown-preview-github-styles
code --install-extension deerawan.vscode-dash
code --install-extension dracula-theme.theme-dracula
code --install-extension eamodio.gitlens
code --install-extension esbenp.prettier-vscode
code --install-extension fabiospampinato.vscode-todo-plus
code --install-extension jeff-hykin.code-eol
code --install-extension lourenci.go-to-spec
code --install-extension mikestead.dotenv
code --install-extension ms-azuretools.vscode-docker
code --install-extension rebornix.ruby
code --install-extension streetsidesoftware.code-spell-checker
code --install-extension TabNine.tabnine-vscode
code --install-extension wingrunr21.vscode-ruby
code --install-extension ziyasal.vscode-open-in-github
ln -Ffs $(PWD)/Code/keybindings.json ~/Library/Application\ Support/Code/User/
ln -Ffs $(PWD)/Code/settings.json ~/Library/Application\ Support/Code/User/
.PHONY: wm
wm: $(HOME)/.skhdrc $(HOME)/.yabairc ## configure yabai wm
install -m 755 bin/yabai-columns-3 /usr/local/bin/
# install -m 755 bin/yabai-fullscreen /usr/local/bin/
brew services restart yabai
brew services restart skhd
$(HOME)/.skhdrc:
ln -Ffs $(PWD)/skhdrc $(HOME)/.skhdrc
$(HOME)/.yabairc:
ln -Ffs $(PWD)/yabairc $(HOME)/.yabairc
.PHONY: zsh
zsh: # configure zsh, install plugins
sh -c $$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)
ln -Ffs $(PWD)/.zshrc ~/.zshrc
ln -Ffs $(PWD)/zsh-notify-alerter ~/.zsh-notify-alerter
git clone https://github.com/bhilburn/powerlevel9k.git $${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel9k
git clone [email protected]:marzocchi/zsh-notify.git $${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/notify