forked from mathiasbynens/dotfiles
-
Notifications
You must be signed in to change notification settings - Fork 0
/
osx_bootstrap.sh
executable file
·169 lines (154 loc) · 3.69 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
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
#!/usr/bin/env bash
#
# Bootstrap script for setting up a new OSX machine
#
# This should be idempotent so it can be run multiple times.
#
# Some apps don't have a cask and so still need to be installed by hand. These
# include:
#
# - Twitter (app store)
# - Postgres.app (http://postgresapp.com/)
#
# Notes:
#
# - If installing full Xcode, it's better to install that first from the app
# store before running the bootstrap script. Otherwise, Homebrew can't access
# the Xcode libraries as the agreement hasn't been accepted yet.
#
# Reading:
#
# - http://lapwinglabs.com/blog/hacker-guide-to-setting-up-your-mac
# - https://gist.github.com/MatthewMueller/e22d9840f9ea2fee4716
# - https://news.ycombinator.com/item?id=8402079
# - http://notes.jerzygangi.com/the-best-pgp-tutorial-for-mac-os-x-ever/
echo "Starting bootstrapping"
# Check for Homebrew, install if we don't have it
if test ! $(which brew); then
echo "Installing homebrew..."
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
fi
# Update homebrew recipes
brew update
# Install GNU core utilities (those that come with OS X are outdated)
#brew tap homebrew/dupes
#brew install coreutils
#brew install gnu-sed --with-default-names
#brew install gnu-tar --with-default-names
#brew install gnu-indent --with-default-names
#brew install gnu-which --with-default-names
#brew install gnu-grep --with-default-names
# Install GNU `find`, `locate`, `updatedb`, and `xargs`, g-prefixed
#brew install findutils
# Install Bash 4
brew install bash
PACKAGES=(
ack
# autoconf
# automake
# boot2docker
# ffmpeg
# gettext
# gifsicle
# git
# graphviz
# hub
# imagemagick
# jq
# libjpeg
# libmemcached
# lynx
# markdown
# memcached
# mercurial
# npm
# pkg-config
# postgresql
# python
# python3
# pypy
# rabbitmq
# rename
# ssh-copy-id
# terminal-notifier
# the_silver_searcher
# tmux
tree
# vim
# wget
)
echo "Installing packages..."
brew install ${PACKAGES[@]}
echo "Cleaning up..."
brew cleanup
echo "Installing cask..."
brew install caskroom/cask/brew-cask
CASKS=(
# colluquy
dropbox
# firefox
# flux
## google-chrome
## google-drive
# gpgtools
## iterm2
## macvim
skype
slack
visual-studio-code
# spectacle
# vagrant
# virtualbox
vlc
)
echo "Installing cask apps..."
brew cask install ${CASKS[@]}
echo "Installing fonts..."
brew tap caskroom/fonts
FONTS=(
font-roboto
font-clear-sans
)
brew cask install ${FONTS[@]}
#echo "Installing Python packages..."
#PYTHON_PACKAGES=(
# ipython
# virtualenv
# virtualenvwrapper
#)
#sudo pip install ${PYTHON_PACKAGES[@]}
#
#echo "Installing Ruby gems"
#RUBY_GEMS=(
# bundler
# filewatcher
# cocoapods
#)
#sudo gem install ${RUBY_GEMS[@]}
#
#echo "Installing global npm packages..."
#npm install marked -g
#
#echo "Configuring OSX..."
#
## Set fast key repeat rate
#defaults write NSGlobalDomain KeyRepeat -int 0
#
## Require password as soon as screensaver or sleep mode starts
#defaults write com.apple.screensaver askForPassword -int 1
#defaults write com.apple.screensaver askForPasswordDelay -int 0
#
## Show filename extensions by default
#defaults write NSGlobalDomain AppleShowAllExtensions -bool true
#
## Enable tap-to-click
#defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Clicking -bool true
#defaults -currentHost write NSGlobalDomain com.apple.mouse.tapBehavior -int 1
#
## Disable "natural" scroll
#defaults write NSGlobalDomain com.apple.swipescrolldirection -bool false
#
#echo "Creating folder structure..."
#[[ ! -d Wiki ]] && mkdir Wiki
#[[ ! -d Workspace ]] && mkdir Workspace
echo "Bootstrapping complete"