This script will help you bootstrap your shiny new laptop. If you need help please direct your questions to @stef.
If you feel there are programs missing please make a PR and I will be happy to merge it!
Run the following commands:
$ sudo xcode-select --install
$ sudo gem install infinum_setup
$ infinum_setup
For a more advanced usage you can use:
$ infinum_setup --interactive
This is an interactive mode where you will be asked if you want to install optional programs/packages
$ infinum_setup --verbose
This will print out all the commands that are run
During setup two config files are loaded: general.yml
and #{team}.yml
. These files are downloaded from the master branch so I do not need to release new gem versions every time we update one of those files :)
{program_name}:
type: brew/cask/gem/npm/script
mandatory: true/false
install_if_not_interactive: true/false
program: {program}
pre_install_comment: A comment to print out before installing
post_install_comment: A comment to print out after install
post_install_command: eg. open the app
There are (for now) 5 types of programs with which to install:
- brew =>
brew install {program}
- cask =>
brew cask install {program}
- gem =>
gem install {program}
- npm =>
npm -g install {program}
- command =>
{script}
For brew/cask/gem/npm valid keys are:
- :type
- :mandatory
- :install_if_not_interactive
- :pre_install_comment
- :post_install_comment
- :post_install_command
- :program
For script/ruby_script valid keys are
- :type
- :mandatory
- :install_if_not_interactive
- :pre_install_comment
- :post_install_comment
- :post_install_command
- :script
- :custom_install_question
Set this setting to true
if you feel like a program must be installed.
If infinum_setup
is run in interactive mode a user will be prompted for each non mandatroy program.
This will come into effect if a program is not mandatory and the infinum_setup
is not run in interactive mode. With this setting set to true
the program will be installed otherwise it will be skipped.
Comments to print out before/after installation.
Use this if you want to run a custom command after installation. Eg. open /Applications/Alfred\ 3.app
For most of the types the install question is 'Installing #{program}?', but for scripts you can ask your own custom question.
You can use scripts
folder for writing your own scripts just as I did for ruby.
Bug reports and pull requests are welcome on GitHub at https://github.com/infinum/infinum_setup. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
The gem is available as open source under the terms of the MIT License.