-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
115 lines (95 loc) · 3.28 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
103
104
105
106
107
108
109
110
111
112
113
114
115
# Makefile
SHELL := /bin/bash
.DEFAULT_GOAL := dotfiles
.PHONY: minimal
minimal: init bash end
.PHONY: dotfiles
dotfiles: init bash fonts git tmux xorg end
.PHONY: all
all: dotfiles vim vscode
.PHONY: init
init:
@mkdir -p ~/.bak
@echo "Created ~/.bak folder"
.PHONY: bash
bash:
@cp ~/.bashrc ~/.bak/ &> /dev/null | true
@rm ~/.bashrc &> /dev/null | true
ln -s ${PWD}/.bashrc ~/.bashrc
@cp ~/.bash_profile ~/.bak/ &> /dev/null | true
@rm ~/.bash_profile &> /dev/null | true
ln -s ${PWD}/.bash_profile ~/.bash_profile
.PHONY: zsh
zsh:
@cp ~/.zshrc ~/.bak/ &> /dev/null | true
@rm ~/.zshrc &> /dev/null | true
ln -s ${PWD}/.zshrc ~/.zshrc
@cp ~/.p10k.zsh ~/.bak/ &> /dev/null | true
@rm ~/.p10k.zsh &> /dev/null | true
ln -s ${PWD}/.p10k.zsh ~/.p10k.zsh
.PHONY: fonts
fonts:
@cp -r ~/.fonts ~/.bak/ &> /dev/null | true
@rm -r ~/.fonts &> /dev/null | true
ln -s ${PWD}/.fonts ~/.fonts
.PHONY: git
git:
@cp ~/.gitconfig ~/.bak/ &> /dev/null | true
@rm ~/.gitconfig &> /dev/null | true
ln -s ${PWD}/.gitconfig ~/.gitconfig
.PHONY: tmux
tmux:
@cp ~/.tmux.conf ~/.bak/ &> /dev/null | true
@rm ~/.tmux.conf &> /dev/null | true
ln -s ${PWD}/.tmux.conf ~/.tmux.conf
.PHONY: xorg
xorg:
@cp ~/.Xdefaults ~/.bak/ &> /dev/null | true
@rm ~/.Xdefaults &> /dev/null | true
ln -s ${PWD}/.Xdefaults ~/.Xdefaults
@cp ~/.Xressources ~/.bak/ &> /dev/null | true
@rm ~/.Xressources &> /dev/null | true
ln -s ${PWD}/.Xressources ~/.Xressources
.PHONY: vim
vim:
@cp ~/.vimrc ~/.bak/ &> /dev/null | true
@rm ~/.vimrc &> /dev/null | true
ln -s ${PWD}/.vimrc ~/.vimrc
@cp -r ~/.vim/colors ~/.bak/ &> /dev/null | true
@rm -r ~/.vim/colors &> /dev/null | true
@mkdir -p ~/.vim
ln -s ${PWD}/.vim/colors ~/.vim/colors
@rm -rf ~/.vim/bundle/Vundle.vim | true
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
vim +PluginInstall +qall
.PHONY: vscode
vscode:
@cp ~/.config/Code/User/settings.json ~/.bak/vscode.settings.json &> /dev/null | true
@rm ~/.config/Code/User/settings.json &> /dev/null | true
@mkdir -p ~/.config/Code/User
ln -s ${PWD}/.config/Code/User/settings.json ~/.config/Code/User/settings.json
code --install-extension DavidAnson.vscode-markdownlint
code --install-extension ecmel.vscode-html-css
code --install-extension fermyon.spin-vscode
code --install-extension Github.copilot
code --install-extension GitHub.copilot-chat
code --install-extension Github.github-vscode-theme
code --install-extension GitHub.remotehub
code --install-extension GitHub.vscode-github-actions
code --install-extension GitHub.vscode-pull-request-github
code --install-extension golang.go
code --install-extension HashiCorp.HCL
code --install-extension HashiCorp.terraform
code --install-extension ms-azuretools.vscode-docker
code --install-extension ms-kubernetes-tools.vscode-kubernetes-tools
code --install-extension ms-python.python
code --install-extension ms-vscode-remote.remote-ssh
code --install-extension ms-vscode.makefile-tools
code --install-extension oderwat.indent-rainbow
code --install-extension redhat.vscode-yaml
code --install-extension rust-lang.rust-analyzer
code --install-extension vscode-icons-team.vscode-icons
code --install-extension yzhang.markdown-all-in-one
.PHONY: end
end:
@echo "A copy of the previous dotfiles are available in the '~/.bak' folder."