Skip to content

Instantly share code, notes, and snippets.

@kennethreitz
Last active September 18, 2022 05:41
Show Gist options
  • Save kennethreitz/cf0ff6e8950f5e3a96ac5b85166f51da to your computer and use it in GitHub Desktop.
Save kennethreitz/cf0ff6e8950f5e3a96ac5b85166f51da to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
# Install Xcode Command Line Tools.
xcode-select --install
# Install Homebrew.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# Install brew basics (auto-updating).
brew install terminal-notifier
brew tap domt4/autoupdate
brew autoupdate --start --upgrade --cleanup --enable-notifications
# Install brew essentials.
brew install heroku
brew install git
brew install ack
# Install download utilities.
brew install youtube-dl
brew install wget
brew install httpie
# Install fancy shell stuff.
brew install fish
brew install grc
brew install direnv
brew install nnn
brew install thefuck
brew install autojump
brew install googler
brew install mas
# Install bash utilities.
brew install bats
brew install shellcheck
# Install Python utlitlies.
brew install python2
brew install python3
brew install pypy
brew install pypy3
brew install ipython
# Install pispi.
pip2 install pipsi
# Install pipenv.
pipsi install pew
pipsi install pipenv
# Install git utilities.
brew install git-open
brew install gist
pipsi install legit
# Make Python 3 system default.
rm -fr /usr/local/bin/python
ln -s /usr/local/bin/python3 /usr/local/bin/python
# Install Postgres (for psychopg2).
brew install postgres
# Install other languages.
brew install lua
brew install node
brew install ruby
# Install fun stuff.
brew install fortune
brew install cowsay
brew install sl
gem install lolcat
pipsi install em-keyboard
@kennethreitz
Copy link
Author

I maintain this script now because I use three computers regularly.

@LuRsT
Copy link

LuRsT commented Jul 31, 2017

Hey @kennethreitz, have you considered using Ansible instead of a sh script, it would give you more power for adding complex stuff and it would keep things idempotent.

I also have three computers I use regularly and here is the way I keep them up to date, also how I setup a new machine in a few minutes: https://github.com/LuRsT/setup_dotfiles

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment