-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathstart
executable file
·156 lines (146 loc) · 7.07 KB
/
start
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
#!/usr/bin/env bash
function runDots() {
# Ask for the administrator password upfront
sudo -v
# Keep-alive: update existing `sudo` time stamp until the script has finished
while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &
# Run sections based on command line arguments
for ARG in "$@"
do
if [ $ARG == "bootstrap" ] || [ $ARG == "all" ] || [ $ARG == "python" ]; then
echo ""
echo "------------------------------"
echo "Syncing the dev-setup repo to your local machine."
echo "------------------------------"
echo ""
# cd ~ && curl -#L https://github.com/limitlessv/osx-dev-setup/tarball/master | tar -xzv --strip-components 1 --exclude={README.md,LICENSE}
source bootstrap/bootstrap.sh
fi
if [ $ARG == "prepareOS" ] || [ $ARG == "all" ] || [ $ARG == "python" ]; then
# Run the prepareOS.sh Script
echo ""
echo "------------------------------"
echo "Updating OSX and installing Xcode command line tools"
echo "------------------------------"
echo ""
source osx/prepareOS.sh
fi
if [ $ARG == "brew" ] || [ $ARG == "all" ] || [ $ARG == "python" ]; then
# Run the brew.sh Script
# For a full listing of installed formulae and apps, refer to
# the commented brew.sh source file directly and tweak it to
# suit your needs.
echo ""
echo "------------------------------"
echo "Installing Homebrew along with some common formulae and apps."
echo "This might awhile to complete, as some formulae need to be installed from source."
echo "------------------------------"
echo ""
source homebrew/brew-group-permissions.sh
#
source homebrew/brew.sh
fi
if [ $ARG == "brewCTF" ] || [ $ARG == "all" ] || [ $ARG == "python" ]; then
# Run the brew-CTF.sh Script
# For a full listing of installed formulae and apps, refer to
# the commented brew.sh source file directly and tweak it to
# suit your needs.
echo ""
echo "------------------------------"
echo "Installing Homebrew along with some common formulae and apps."
echo "This might awhile to complete, as some formulae need to be installed from source."
echo "------------------------------"
echo ""
source homebrew/brew-CTF.sh
fi
if [ $ARG == "osx" ] || [ $ARG == "all" ] || [ $ARG == "python" ]; then
# Run the osx.sh Script
# I strongly suggest you read through the commented osx.sh
# source file and tweak any settings based on your personal
# preferences. The script defaults are intended for you to
# customize. For example, if you are not running an SSD you
# might want to change some of the settings listed in the
# SSD section.
echo ""
echo "------------------------------"
echo "Setting sensible OSX defaults."
echo "------------------------------"
echo ""
source osx/osx.sh
fi
if [ $ARG == "anaconda" ] || [ $ARG == "all" ] || [ $ARG == "python" ]; then
# Run the pyAnaconda.sh Script
# I strongly suggest you read through the commented pyAnaconda.sh
echo ""
echo "------------------------------"
echo "Setting up Python anaconda."
echo "------------------------------"
echo ""
source python/pyAnaconda.sh
fi
if [ $ARG == "pydata" ]; then
# Run the pydata.sh Script
echo "------------------------------"
echo "Setting up Python data development environment."
echo "------------------------------"
echo ""
source python/pydata.sh
fi
if [ $ARG == "datastores" ] || [ $ARG == "all" ]; then
# Run the databases/dbTools.sh Script
echo "------------------------------"
echo "Setting up data stores."
echo "------------------------------"
echo ""
source databases/dbTools.sh
fi
done
echo "------------------------------"
echo "Completed running start , restart your computer to ensure all updates take effect"
echo "------------------------------"
}
if [ $# -eq 0 ]; then
echo ""
echo "usage: ./start [option]"
echo "Options and arguments:"
echo ""
echo "+---------------------------------------------------------------------+"
echo "| To install ALL packages run: |"
echo "| ./start all |"
echo "+---------------------------------------------------------------------+"
echo "| To install the following packages [bootstrap osxprep, |"
echo "| brew brewCTF osx anaconda] run: |"
echo "| ./start python |"
echo "+---------------------------------------------------------------------+"
echo "| To install selected packagess run: |"
echo "| ./start bootstrap osxprep brew osx |"
echo "+---------------------------------------------------------------------+"
echo "| or: |"
echo "| ./start bootstrap osxprep brew brewCTF osx |"
echo "+---------------------------------------------------------------------+"
echo "| or: |"
echo "| ./start bootstrap osxprep brew brewCTF osx anaconda |"
echo "+---------------------------------------------------------------------+"
echo "| or: |"
echo "| ./start bootstrap osxprep brew brewCTF osx pydata |"
echo "+---------------------------------------------------------------------+"
echo "| or: |"
echo "| ./start bootstrap osxprep brew brewCTF osx anaconda datastores |"
echo "+---------------------------------------------------------------------+"
echo "| or: |"
echo "| ./start bootstrap osxprep brew brewCTF osx pydata datastores |"
echo "+---------------------------------------------------------------------+"
echo ""
exit 1
fi
read -p "This script may overwrite existing files in your home directory. Are you sure? (y/n) " -n 1;
echo "";
if [[ $REPLY =~ ^[Yy]$ ]]; then
runDots $@
fi;
unset runDots;
read -p "Restart your computer now? (y/n) " -n 1;
echo "";
if [[ $REPLY =~ ^[Yy]$ ]]; then
sudo reboot now
fi;