These collection of scripts will load automatically a bunch of binaries, applications,
programs and some utilities for setting a development environment based on Ruby.
Try it by downloading this repository and after running the command.
sh $DIR_OF_THE_REPOSITORY/init.sh
You must have an Apple ID and download XCode, application that includes most of the tools a developer needs.
The directory structure is as follows:
- init.sh: The main script, execute multiple calls to other scripts contained in the scripts folder.
- scripts: This folder contains all the executed scripts
- templates: This folder might contain a whole bunch of configuration dotfiles. Right now, it has only a .zshrc template.
The main script, init.sh, executes one by one the scripts in the scripts folder, in the following order:
-
defaults.sh: This script changes some Mac defaults at a low level in order to improve performance, visibility and usability. Refer to the script for wider information.
-
binaries.sh: This script installs some tools like:
- brew
- imagemagick
- fasd
- among others. The full list is contained in the script, in the binaries variable.
-
install_zsh.sh: This script installs zsh, a UNIX shell, and zplug, a zsh plugin manager. It also changes the default terminal shell to ZSH
-
ssh_add.sh: This script creates a new SSH key in the ~/.ssh directory and automatically adds it to the ssh-agent for the device to authenticate with it. It also prompts the public key for adding it to a Github/Bitbucket account.
-
apps.sh: This script installs multiple user applications, like Google Chrome, Skype, Virtualbox, the Atom editor. The full list can be found in the script, as the apps variable. It also installs some Atom Packages for increasing productivity. The full list of packages can be found in the script as the variable atom.
-
security.sh (Not yet implemented): Runs some configuration related to the firewalls for security
-
rbenv.sh: Install rbenv for managing the versions of Ruby.
-
nodenv.sh: Install nodenv for managing the versions of Node.
-
jenv.sh: Install jenv for managing the versions of Java.
-
phantomenv.sh: Install phantomenv for managing the versions of PhantomJS.
-
hosts.sh: Set a hosts file for blocking malware, adware, and other irritants. This script take a hosts file copy from templates dir and put it into /etc/hosts path. For more info about this visit StevenBlack hosts repository.
-
dotfiles_configuration.sh: This file is run with the zsh shell rather than the bash console. It copies the templates in the templates directory to a directory in the
$HOME
directory called dotfiles. In this directory, is created a git repository and the templates are symlinked to the actual configuration files. In this way, any change done to the files in the~/dotfiles
directory will be reflected directly in the configuration files and will be also under control version.