Setting up a new machine? Let ansible do all the work. Save hours of finding downloads, managing installations, setting up configurations and trying to remember where things should be.
With ansible we're able to set up a new machine automatically, it can take only minutes to get your machine ready. Ansible commands are repeatable in an idempotent manner, meaning, it can be ran again to correct issues without having to run previously successful commands.
If battlestation is managing your applications and cli, then it can also keep them up to date. Running the playbook or the quick setup will upgrade all applications and cli commands that battlestation supports.
Credit to Josheph Kahn's blog.
Setup a macos machine.
Quick setup will install battlestation to /tmp, and uses the default installations and configurations.
sh <(curl -H 'Cache-Control: no-cache' -ssSL https://raw.githubusercontent.com/wenn/battlestation/master/setup/macos_run.sh)
Allows you to disable/enable certain modules before running the ansible playbook.
- Get battlestation without git.
BSM=battlestation-master && curl -sSL https://github.com/wenn/battlestation/archive/master.zip -o ${BSM}.zip && unzip $BSM && cd $BSM
- modify your battlestation
- Install required modules
./setup/macos_run.sh -r
- From battlestation, run the playbook
ansible-playbook -i HOSTS setup.yml
Module | Version | Required | Enabled |
---|---|---|---|
homebrew | latest | yes | yes |
python | 2.7 | yes | yes |
pip | latest | yes | yes |
ansible | 2.5 | yes | yes |
git | latest | yes | yes |
chrome | latest | no | yes |
vim | latest | no | yes |
tmux | latest | no | yes |
iterm2 | latest | no | yes |
shiftit | latest | no | yes |
dropbox | latest | no | yes |
firefox | latest | no | yes |
awscli | latest | no | yes |
virtualenv | latest | no | yes |
node | latest | no | yes |
npm | latest | no | yes |
virtualbox | latest | no | yes |
vagrant | latest | no | yes |
intellij-idea-ce | latest | no | no |
visual-studio-code | latest | no | no |
atom | latest | no | no |
sublime-text | latest | no | no |
Modify the file customize.yml. Comment to disable install.
A personal repo to store your "dot" configurations, like a .vimrc
or .bashrc
.
For inspiration, take a look at mathias's collective dotfiles.
To use your personal dotfiles, allow setup to know your dotfiles repository's https uri of the dotfiles
. The setup will provide a prompt for you to enter the location of your dotfiles directory.
You can view the list of supported dotfiles in customize.yml.
If a dotfile does not exists in your personal dotfiles dir, it will be a no-op.
Furthermore, you can comment on items in managed_dotfiles
to ignore
the default behavior.
- docker
- add iterm2 conf
- intelliJ conf
- postman
- gem
- sdkman
- vbox
- coreutils ( brew )