GithubHelp home page GithubHelp logo

guoyu07 / oh-my-laptop Goto Github PK

View Code? Open in Web Editor NEW

This project forked from xiaohanyu/oh-my-laptop

0.0 0.0 0.0 75 KB

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

License: BSD 3-Clause "New" or "Revised" License

Shell 100.00%

oh-my-laptop's Introduction

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

oh-my-laptop's People

Contributors

xiaohanyu avatar oboxodo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.