Last active
August 30, 2019 07:12
-
-
Save victorphamdeveloper/e754270c8c21e0243ba74c0c40d2d17c to your computer and use it in GitHub Desktop.
Revisions
-
victorphamdeveloper revised this gist
Aug 30, 2019 . 1 changed file with 0 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,9 +1,5 @@ #!/bin/sh fancy_echo() { local fmt="$1"; shift -
victorphamdeveloper created this gist
Aug 30, 2019 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,143 @@ #!/bin/sh # Welcome to the thoughtbot laptop script! # Be prepared to turn your laptop (or desktop, no haters here) # into an awesome development machine. fancy_echo() { local fmt="$1"; shift # shellcheck disable=SC2059 printf "\\n$fmt\\n" "$@" } append_to_zshrc() { local text="$1" zshrc local skip_new_line="${2:-0}" if [ -w "$HOME/.zshrc.local" ]; then zshrc="$HOME/.zshrc.local" else zshrc="$HOME/.zshrc" fi if ! grep -Fqs "$text" "$zshrc"; then if [ "$skip_new_line" -eq 1 ]; then printf "%s\\n" "$text" >> "$zshrc" else printf "\\n%s\\n" "$text" >> "$zshrc" fi fi } # shellcheck disable=SC2154 trap 'ret=$?; test $ret -ne 0 && printf "failed\n\n" >&2; exit $ret' EXIT set -e if [ ! -d "$HOME/.bin/" ]; then mkdir "$HOME/.bin" fi if [ ! -f "$HOME/.zshrc" ]; then touch "$HOME/.zshrc" fi # shellcheck disable=SC2016 append_to_zshrc 'export PATH="$HOME/.bin:$PATH"' HOMEBREW_PREFIX="/usr/local" if [ -d "$HOMEBREW_PREFIX" ]; then if ! [ -r "$HOMEBREW_PREFIX" ]; then sudo chown -R "$LOGNAME:admin" /usr/local fi else sudo mkdir "$HOMEBREW_PREFIX" sudo chflags norestricted "$HOMEBREW_PREFIX" sudo chown -R "$LOGNAME:admin" "$HOMEBREW_PREFIX" fi update_shell() { local shell_path; shell_path="$(command -v zsh)" fancy_echo "Changing your shell to zsh ..." if ! grep "$shell_path" /etc/shells > /dev/null 2>&1 ; then fancy_echo "Adding '$shell_path' to /etc/shells" sudo sh -c "echo $shell_path >> /etc/shells" fi sudo chsh -s "$shell_path" "$USER" } case "$SHELL" in */zsh) if [ "$(command -v zsh)" != '/usr/local/bin/zsh' ] ; then update_shell fi ;; *) update_shell ;; esac if ! command -v brew >/dev/null; then fancy_echo "Installing Homebrew ..." curl -fsS \ 'https://raw.githubusercontent.com/Homebrew/install/master/install' | ruby append_to_zshrc '# recommended by brew doctor' # shellcheck disable=SC2016 append_to_zshrc 'export PATH="/usr/local/bin:$PATH"' 1 export PATH="/usr/local/bin:$PATH" fi fancy_echo "Updating Homebrew formulae ..." brew update brew bundle --file=- <<EOF tap "thoughtbot/formulae" tap "homebrew/services" tap "universal-ctags/universal-ctags" # Unix brew "universal-ctags", args: ["HEAD"] brew "git" brew "openssl" brew "rcm" brew "reattach-to-user-namespace" brew "the_silver_searcher" brew "tmux" brew "vim" brew "watchman" brew "zsh" # GitHub brew "hub" # Image manipulation brew "imagemagick" # Programming language prerequisites and package managers brew "libyaml" # should come after openssl brew "coreutils" brew "yarn" # Databases brew "postgres", restart_service: :changed brew "redis", restart_service: :changed EOF # shellcheck disable=SC1090 sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" #VIM Configurations git clone --depth=1 https://https://github.com/victorphamdeveloper/vimrc.git ~/.vim_runtime sh ~/.vim_runtime/install_awesome_vimrc.sh if [ -f "$HOME/.laptop.local" ]; then fancy_echo "Running your customizations from ~/.laptop.local ..." # shellcheck disable=SC1090 . "$HOME/.laptop.local" fi