Some dotfiles and settings mainly for MAC OS X.
For almost everything you need to have XCode installed as well as the XCode command tools. You can install them with the following command:
xcode-select --install
Any file which matches the shell glob _*
will be linked into $HOME
as a symlink with the first _
replaced with a .
For example:
_bashrc
becomes
${HOME}/.bashrc
It's as simple as running:
$ ./install.sh
From this top-level directory.
$ /usr/bin/ruby -e "$(/usr/bin/curl -fksSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
- Homebrew Cask to manage Mac applications binaries:
$ brew install caskroom/cask/brew-cask
$ brew install tmux
A good addon to create and manage tmux sessions easily: tmuxinator
gem install tmuxinator
Note: Install RVM before.
$ brew install htop-osx mobile-shell automake glib bash tree lzop findutils
Install GNU find
, locate
, updatedb
, and xargs
, g-prefixed
$ brew install wget nmap ifstat tcpdump mtr
Create and view interactive cheatsheets on the command-line. It was designed to help remind *nix system administrators of options for commands that they use frequently, but not frequently enough to remember.
$ brew install cheat
$ brew install git git-crypt legit bazaar mercurial svn cvs git-flow-avh
Hg-Git is a plugin for Mercurial, adding the ability to push to and pull from a Git server repository from Mercurial:
$ easy_install hg-git
And add the extension to your ~/.hgrc
.
For image processing and plotting:
$ brew install jpeg libpng libffi giflib boost protobuf lzlib grapviz gnuplot libsvg svg2png svg2pdf ghostscript imagemagick
With XQuartz you can also install xpdf
.
For text processing:
$ brew install gettext readline aspell xapian markdown w3m highlight ag
For some programs you will need to force the linking
brew link gettext --force
And font management:
$ brew install freetype freexl fontconfig fontforge
For evented architecture:
$ brew install libevent libuv zeromq
For encryption:
brew install gpg openssl nacl
$ brew install sqlite redis cassandra hdf5 mongodb
For Postgres we use the Postgres.app
$ brew cask install postgres
Postgres CLI, Postgres CLI with autocompletion and syntax highlighting
$ brew install pgcli
Goodies:
- Robomongo MongoDB management tool
To manage different Python versions at the user level, one way to go is to use pyenv:
$ brew install pyenv pyenv-virtualenv pyenv-virtualenvwrapper
Because virtualenvwrapper is depending on python, you must first install at least one version of python.
For example, install 2.7.9 and set it as global in pyenv.
$ pyenv install 2.7.9
$ pyenv global 2.7.9
To setup a virtualenvwrapper into your shell, just run
pyenv virtualenvwrapper
You can then work in a virtualenv using your favorite Python version.
And then work in your virtual environments.
For further integration with emacs, ropemacs is highly recommended:
$ pip install rope ropemacs ropemode elpy jedi epc
$ brew install leiningen
$ brew install go
"go get" the basics
$ go get golang.org/x/tools/cmd/godef
$ go get golang.org/x/tools/cmd/godoc
$ go get golang.org/x/tools/cmd/vet
$ brew install libyaml libxml2 libxslt libksba
RVM is a command-line tool which allows you to easily install, manage, and work with multiple ruby environments from interpreters to sets of gems:
curl -L https://get.rvm.io | bash -s stable --ruby
An RVM cheatsheet can be found here.
$ brew install rust
We install node/iojs using Node Version Manager (nvm), a simple bash script to manage multiple active node.js versions:
$ brew install nvm
Add the following to $HOME/.bashrc, $HOME/.zshrc, or your shell's equivalent configuration file:
$ export NVM_DIR=~/.nvm
$ source $(brew --prefix nvm)/nvm.sh
Now use nvm to install the latest stable release of node:
$ nvm install stable
Install the latest stable Emacs version from http://emacsformacosx.com/
Or a good OS X port by @railwaycat can be found there: emacs-mac-port and can be easilly installed with brew:
$ brew tap railwaycat/emacsmacport
and then
brew install emacs-mac
Install Cask for Emacs package management:
brew install cask
$ brew install zsh
make it the default shell
$ chsh -s /bin/zsh
add to it oh-my-zsh
$ git clone git://github.com/sebastibe/oh-my-zsh.git ~/.oh-my-zsh
with zsh-syntax-highlighting in ~/.oh-my-zsh/custom/plugins
:
$ git clone git://github.com/zsh-users/zsh-syntax-highlighting.git
or alternatively with Pretzo:
# Uninstall oh my zsh
$ uninstall_oh_my_zsh
# Open new shell, open zsh and clone the presto repo
$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
# Get prezto's default configuration
$ setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
$ brew install isync mu html2text gnutls
$ pip install offlineimap
A good webmail client: mailpile
Recover lost partitions and/or make non-booting disks bootable again when these symptoms are caused by faulty software, certain types of viruses or human error.
$ brew install testdisk
- iTerm2 alternative to Term
- GitHub for Mac
- iStumber Mac Network discovery tool
- WaterRoof Firewall editor
- keyremap4macbook Remap your keyboard
With Slate you can:
- Bind keystrokes to:
- move and/or resize windows
- directionally focus windows
- activate preset layouts
- create, delete, and activate snapshots of the current state of windows
- Set default layouts for different monitor configurations which will activate when that configuration is detected.
- Window Hints: an intuitive way to change window focus
$ brew cask install mattr-slate
Install f.lux To save your eyes.
$ brew cask install flux
XQuartz X.Org Windows system for OS X (needed for gnuplot):
$ brew cask install xquartz dialog
And others also availables through the App store:
- Moom for better Mac OS X Windows organization (paid)
- GeekTool enable to overlay information on the screen background
- Android File Transfer Utility to tranfer files to an Android device
$ brew cask install transmission
$ brew cask install slack franz
pip install powerline-status psutil
git clone https://github.com/powerline/fonts
A console client for Evernote: Geeknote
Note: use the fork as the original author has disapeared.
brew install --HEAD https://raw.githubusercontent.com/jeffkowalski/geeknote/master/geeknote.rb