forked from donnemartin/dev-setup
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.dots
executable file
·132 lines (125 loc) · 5 KB
/
.dots
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
#!/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 &
ARGS="$@"
if [[ $ARGS == "" ]]; then
ARGS="default"
fi
# Run sections based on command line arguments
for ARG in $ARGS
do
if [ $ARG == "bootstrap" ] || [ $ARG == "all" ] || [ $ARG == "default" ]; then
echo ""
echo "------------------------------"
echo "Syncing the dev-setup repo to your local machine."
echo "------------------------------"
echo ""
./bootstrap.sh -f
fi
if [ $ARG == "osxprep" ] || [ $ARG == "all" ] || [ $ARG == "default" ]; then
# Run the osxprep.sh Script
echo ""
echo "------------------------------"
echo "Updating OSX and installing Xcode command line tools"
echo "------------------------------"
echo ""
./osxprep.sh
fi
if [ $ARG == "brew" ] || [ $ARG == "all" ] || [ $ARG == "default" ]; 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 ""
./brew.sh
fi
if [ $ARG == "osx" ] || [ $ARG == "all" ] || [ $ARG == "default" ]; 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 ""
./osx.sh
fi
if [ $ARG == "pydata" ] || [ $ARG == "all" ]; then
# Run the pydata.sh Script
echo "------------------------------"
echo "Setting up Python data development environment."
echo "------------------------------"
echo ""
./pydata.sh
fi
if [ $ARG == "aws" ] || [ $ARG == "all" ]; then
# Run the aws.sh Script
echo "------------------------------"
echo "Setting up AWS development environment."
echo "------------------------------"
echo ""
./aws.sh
fi
if [ $ARG == "datastores" ] || [ $ARG == "all" ] || [ $ARG == "default" ]; then
# Run the datastores.sh Script
echo "------------------------------"
echo "Setting up data stores."
echo "------------------------------"
echo ""
./datastores.sh
fi
if [ $ARG == "web" ] || [ $ARG == "all" ] || [ $ARG == "default" ]; then
# Run the web.sh Script
echo "------------------------------"
echo "Setting up JavaScript web development environment."
echo "------------------------------"
echo ""
./web.sh
fi
if [ $ARG == "android" ] || [ $ARG == "all" ]; then
# Run the android.sh Script
echo "------------------------------"
echo "Setting up Android development environment."
echo "------------------------------"
echo ""
./android.sh
fi
if [ $ARG == "art" ] || [ $ARG == "all" ] || [ $ARG == "default" ]; then
# Run the art.sh Script
echo "------------------------------"
echo "Setting up art and design tools."
echo "------------------------------"
echo ""
./art.sh
fi
if [ $ARG == "fun" ] || [ $ARG == "all" ] || [ $ARG == "default" ]; then
# Run the fun.sh Script
echo "------------------------------"
echo "Setting up fun stuff."
echo "------------------------------"
echo ""
./art.sh
fi
done
echo "------------------------------"
echo "Completed running .dots, restart your computer to ensure all updates take effect"
echo "------------------------------"
}
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;