This project automates the process of setting up a new Voom machine using a simple Bash script.
To setup a Voom pairing machine, clone this repo.
mkdir -p ~/workspace
cd ~/workspace
git clone https://github.com/voomflights/workstation-setup.git
cd workstation-setup
...and run ./setup.sh voom
Voom has forked this project to make some tweaks for our flavor of pairing machine. The changes include:
For instance, if you only want to install VSCode and extensions
./single.sh ./scripts/opt-in/vscode.sh
- Do not install pivotal ide prefs
- No longer install rubymine
- Install CCMenu
- No more popups during run
Install slack alpha for better screen sharing(no longer necessary as of 3.3.1)- Init rbenv inside of ~/.bash_profile
- Update off of pivotal/master, with revisions.
- ShiftIt now does 1/3, 1/2, 2/3rd screen on successive presses.
- Install latest version of vim
- Do NOT install git-hooks-core, do NOT install Atom or VS code.
- Do NOT send analytics to homewbrew or google.
- Do not hide dock on bottom side for easier remote pairing.
- Install node@8 and cocoapods
- Enable bash-it git aliases
- Install htop and react-native-debugger
- Add bash utility to only install brew packages if missing.
- Manage Sublime settings
- Install chromedriver cask
- Added logo images to this repo so pairing machines can set avatars
- Created the
voom
script, which merges in a few of the original scripts together (ruby, node, & design) - Created the
heroku
script, which installs Heroku stuff; make it part of the voom install - Set OSX background image to be a sweet helicopter photo.
- Remove
zoomus
from the default install - Remove
cloud-foundry
from the default install - Remove
virtualbox
from the default install - Remove
skype
as a common application - Add
keycastr
as a common application - Move the dock to the right side of the screen
- Added
nvm
to the node.js install scripts - Remove any global NPM packages. Those are bad.
- Install yarn when installing node.js
The original README from Pivotal is below:
The primary goal of this project is to give people a simple script they can run to make their machine a bit more useful and standard for working on Pivotal projects.
- A bash script is easy for users to edit locally on-the-fly for small temporary tweaks
- Everything is in one repository
- The project name is informative
- Keep it easy to fork and customize
- It has very limited requirements: git, bash and Ruby are all available on macOS by default
This project does not aim to do everything. Some examples:
- We don't install everything that your project needs. These scripts should only install generally useful things, and prefer running quickly over being complete.
- We avoid setting up and maintaining overly-custom configurations. When there is already a tool that will get us something in a conventional manner, such as bash-it, we prefer to use it instead of doing things ourselves.
Warning: the automation script is currently aggressive about what it does and will overwrite vim configurations, bash-it configurations, etc.
- Run the latest version of macOS, currently High Sierra, unless you have a specific reason not to
- These scripts might work on previous versions, but are maintained with only the latest macOS in mind
- If you are not on High Sierra, you need to install the latest version of Xcode
- On High Sierra, once you have used git (below), you will have installed the command line developer tools
Open up Terminal.app and run the following commands:
mkdir -p ~/workspace
cd ~/workspace
git clone https://github.com/pivotal/workstation-setup.git
cd workstation-setup
If you're setting up an engineering machine choose which languages to install:
# For Labs developers (remove unnecessary languages when running command)
./setup.sh java ruby node golang c docker
# For Data developers
./setup.sh c golang java docker
# If you want java 8, you can use
./setup.sh java8
# For .net
./setup.sh dotnet
The list of Engineering applications is found in: applications-common.sh
If you're setting up a design machine run the following:
./setup.sh designer
In addition to the Engineering applications, this script also installs the list of Design applications found in: applications-designer.sh
If you're setting up a machine for the XP workshop run the following:
./setup.sh java8 node
The tool will send anonymous user data to our Google Analytics account, so we can see what command line arguments are popular. You can disable this:
# Remove unnecessary languages when running command
SKIP_ANALYTICS=1 ./setup.sh java ruby node golang c docker
This will also disable brew's data collection.
Voom thinks this is really shady. We deleted this file.
If you're having problems using the setup script, please let us know by opening an issue.
If you see errors from brew
, try running brew doctor
and include the diagnostic output in your issue submission.
If you'd like to customize this project for a project's use:
- Fork the project
- Edit the shells scripts to your liking
- Profit
Yes. The script does not reinstall apps that are already on the machine.
This project is provided as an alternative to the pivotal-sprout/sprout-wrap project. You are encouraged to use that project if it better suits your needs.
The goals of this projects is to keep the setup process simple and up to date:
Please see this GitHub issue for more discussion on the subject.