0.01
Low commit activity in last 3 years
A long-lived project that still receives updates
This script will help you bootstrap your shiny new laptop
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.12
>= 0
~> 10.0
~> 3.0

Runtime

 Project Readme

InfinumSetup

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!

Installation

Run the following commands:

$ sudo xcode-select --install
$ sudo gem install infinum_setup

Usage

$ 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

Development

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 :)

Content of program/#{team}.yml 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

command type

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}

Valid keys by type

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

Mandatory

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.

Install if not interactive

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.

Pre/post install comment

Comments to print out before/after installation.

Post install command

Use this if you want to run a custom command after installation. Eg. open /Applications/Alfred\ 3.app

Custom install question

For most of the types the install question is 'Installing #{program}?', but for scripts you can ask your own custom question.

Writing your own scripts

You can use scripts folder for writing your own scripts just as I did for ruby.

Contributing

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.

License

The gem is available as open source under the terms of the MIT License.