Skip to content

[Sleepy]Provide some easy to use ansbile playbooks to turn your laptop to awesome.

License

Notifications You must be signed in to change notification settings

guoyu07/oh-my-laptop

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Oh My Laptop

Introduction

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.

Actually, Github has a similar project called boxen. However, boxen only works for Mac and it adopt Puppet and I dislike Puppet.

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.

Features

  • 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.

Quick Start

Mac OS X 10.10

To start, you need to install the following things.

XCode

Please download and install Xcode from the Mac App Store and the necessary Command Line Tools, refer this post for simple tutorial.

Homebrew

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 install caskroom/cask/brew-cask

Homebrew cask is really great if you want to install some huge binary packages such as Emacs, pycharm, etc.

Ansible

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

What’s inside?

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'
PackageStatusAptHomebrew
the_silver_searcherRequiredOKOK
clocRequiredOKOK
htopRequiredOKOK
md5sha1sumRequiredNaNOK
proxychains-ngRecommendedOKOK
rangerRequiredOKOK
rlwrapRequiredOKOK
wgetRequiredOKOK
tmuxRequiredOKOK
zshRequiredOKOK
oh-my-zshRequiredOKOK
editorconfigRecommendedNaNOK
clangRequiredOKOK
cmakeRecommendedOKOK
leiningenRequiredOKOK
Java 8RequiredOKOK
mavenRequiredOKOK
gradleRequiredOKOK
nodejsRequiredOKOK
jshintRecommendedOKOK
pyenvRequiredOKOK
pyenv-doctorRequiredOKOK
pyenv-updateRequiredOKOK
pyenv-virtualenvRequiredOKOK
pyenv-which-extRequiredOKOK
rbenvRequiredOKOK
ruby-buildRequiredOKOK
rbenv-gem-rehashRequiredOKOK
rbenv-default-gemsRequiredOKOK
rbenv-eachRequiredOKOK
rbenv-updateRequiredOKOK
bundlerRequiredOKOK
pryRequiredOKOK
pry-docRequiredOKOK
virtualboxRequiredOKOK
vagrantRequiredOKOK
cvsDeprecatedOKOK
svnDeprecatedOKOK
mercurialDeprecatedOKOK
gitRequiredOKOK
git-extrasRequiredOKOK
tigRequiredOKOK

Let’s go

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

Reference

About

[Sleepy]Provide some easy to use ansbile playbooks to turn your laptop to awesome.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 100.0%