Oh My Laptop
Tired of spending a whole day configuring your Mac/Linux? Then you’ve come to the right place.
Oh-my-laptop try to provide a simple, modular and flexible way to turn your laptop into an awesome working partner.
This project starts out as a bunch of personal scripts, days when I have to initialize my laptop, my vagrant box, my newly-got Mac. I’m tired and I want some robots.
I prefer ansible, for its simplity. Ansible requires no agent in client. The only thing ansible requires is ssh, which lives on almost every *nix based machine. Second, unlike Puppet/Chef, which create a huge and complex DSL, ansible adopt YAML, which makes it quite easy to learn, read and write.
Currently, oh-my-laptop has been tested on Mac OS X 10.10 and Linux Mint 17 KDE, and it should works on some Ubuntu-derived Linux distributions—which means, I don’t have too much time to test all Ubuntu(apt-get)-derived Linux distributions.
- Modular, only install and configure necessary packages as you need.
- Literate, every package has full documentation or links to demonstrate why we choose it and why we configure it this way.
- Simple, all modules are written in ansible playbook, plain YAML format, quite easy to read, write and contribute.
- Fast, all ansible roles in oh-my-laptop are idempotent, and roles always has proper dependency relations, and it is guaranteed that each role will be played once and only once, no matter in what order you specify it.
Mac OS X 10.10
To start, you need to install the following things.
Please download and install Xcode from the Mac App Store and the necessary Command Line Tools, refer this post for simple tutorial.
There’re various package managers for Mac, among which homebrew is the best and most popular. It’s quite easy to install:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Then you also get homebrew cask via:
brew tap caskroom/cask
Homebrew cask is really great if you want to install some huge binary packages such as Emacs, pycharm, etc.
The only thing oh-my-laptop depends is ansible, please do install it before you join the journey.
Will you trust me?
I’ve write a bootstrap script to get homebrew(on Mac) and ansible for you:
curl -L https://raw.githubusercontent.com/xiaohanyu/oh-my-laptop/master/bootstrap.sh | bash
One line code to get all packages configured by oh-my-laptop:
find . -name README.org | xargs grep "|" | grep -v Package | grep -v '\-\-\-\-' | sed 's/^.*org://g'
git clone https://github.com/xiaohanyu/oh-my-laptop cd oh-my-laptop # please view oh-my-laptop.yml and enable or disable some modules $EDITOR oh-my-laptop.yml ansible-playbook -i localhost -K oh-my-laptop.yml