-
-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathmakefile
More file actions
55 lines (47 loc) · 2.52 KB
/
makefile
File metadata and controls
55 lines (47 loc) · 2.52 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
53
54
55
default: help
.PHONY: help
help: # Show help for each of the Makefile recipes.
@grep -E '^[a-zA-Z0-9 -]+:.*#' Makefile | sort | while read -r l; do printf "\033[1;32m$$(echo $$l | cut -f 1 -d':')\033[00m:$$(echo $$l | cut -f 2- -d'#')\n"; done
.PHONY: link
link: # Creates symbolic links.
ln -sfn ${PWD}/shell.sh ~/.shell.sh
ln -sfn ${PWD}/shell.d ~/.shell.d
ln -sfn ${PWD}/shell.functions.d ~/.shell.functions.d
ln -sfn ${PWD}/shell.private.d ~/.shell.private.d
ln -sfn ${PWD}/vim/vimrc ~/.vimrc
mkdir -p ~/.vim ~/.config/nvim
ln -sfn ${PWD}/vim/coc-settings.json ~/.vim/coc-settings.json
ln -sfn ${PWD}/vim/coc-settings.json ~/.config/nvim/coc-settings.json
ln -sfn ${PWD}/tmux/tmux.conf ~/.tmux.conf
ln -sfn ${PWD}/ack/ackrc ~/.ackrc
ln -sfn ${PWD}/zsh/zshrc ~/.zshrc
ln -sfn ${PWD}/bash/bashrc ~/.bashrc
ln -sfn ${PWD}/bash/bash_profile ~/.bash_profile
ln -sfn ${PWD}/ag/ignore ~/.ignore
mkdir -p ~/Library/Application\ Support/Code/User/ && ln -sfn ${PWD}/VSCode/settings.json ~/Library/Application\ Support/Code/User/settings.json || echo "error: can't link VSCode settings.json"
mkdir -p ~/.claude
ln -sfn ${PWD}/claude/CLAUDE.md ~/.claude/CLAUDE.md || echo "error: can't link CLAUDE.md"
ln -sfn ${PWD}/claude/settings.json ~/.claude/settings.json || echo "error: can't link claude settings.json"
ln -sfn ${PWD}/claude/statusline.sh ~/.claude/statusline.sh || echo "error: can't link claude statusline.sh"
mkdir -p ~/.claude/hooks
ln -sfn ${PWD}/claude/hooks/tmux-notify.sh ~/.claude/hooks/tmux-notify.sh || echo "error: can't link tmux-notify.sh"
.PHONY: iterm-profiles
iterm-profiles: # Install iTerm2 dynamic profiles.
@mkdir -p ~/Library/Application\ Support/iTerm2/DynamicProfiles
@jq -s '{"Profiles": .}' terminal/iTerm2/*.json > ~/Library/Application\ Support/iTerm2/DynamicProfiles/dotfiles.json
@echo "Installed $$(jq '.Profiles | length' ~/Library/Application\ Support/iTerm2/DynamicProfiles/dotfiles.json) profiles"
.PHONY: private-files-backup
private-files-backup: # Backup private config files (ssh keys etc). Pass FILTER=<glob> to limit.
./private-files/private-files-backup.sh "$(FILTER)"
.PHONY: private-files-restore
private-files-restore: # Restore private config files (ssh keys etc).
./private-files/private-files-restore.sh
.PHONY: install-binaries
install-binaries: # Install dotfiles binaries to /usr/local/bin.
./scripts/install-binaries.sh
.PHONY: setup
setup: # Setup the local machine.
./setup.sh
.PHONY: test-shell.d
test-shell.d: # Test and time the shell configuration file.
./scripts/test-shell.d.sh