-
Notifications
You must be signed in to change notification settings - Fork 0
/
osx-bootstrap.sh
executable file
·88 lines (70 loc) · 1.51 KB
/
osx-bootstrap.sh
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
#!/usr/bin/env bash
# Inspired by https://gist.github.com/codeinthehole/26b37efa67041e1307db
#
# This should be idempotent so it can be run multiple times.
echo "Starting installation..."
echo "Checking for Homebrew"
if test ! $(which brew); then
echo "Installing homebrew..."
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
echo "Done installing homebrew."
fi
echo "Running brew update'..."
brew update
echo "Installing oh-my-zsh"
if test ! [ -d ".oh-my-zsh" ]; then
echo "Installing oh-my-zsh..."
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
else
echo "oh-my-zsh already installed"
fi
PACKAGES=(
git
aws-cli
cask
pure
python3
vim
wget
zsh-autosuggestions
zsh-syntax-highlighting
kubectl
node
npm
cloudflared
plow
mtr
httpstat
wrk
)
echo "Installing brew packages..."
brew install ${PACKAGES[@]}
echo "Installing powerline fonts"
pip3 install --user powerline-status
CASKS=(
google-chrome
docker
sublime-text
atom
webstorm
datagrip
ngrok
lens
infra
)
echo "Installing cask apps..."
brew install --cask ${CASKS[@]}
echo "Installing node packages..."
NODE_PACKAGES=(
typescript
)
npm install -g ${NODE_PACKAGES[@]}
echo "Installing Python packages..."
PYTHON_PACKAGES=(
virtualenv
virtualenvwrapper
)
pip3 install ${PYTHON_PACKAGES[@]}
echo "Cleaning up..."
brew cleanup
echo "Bootstrapping complete!"