Giter Club home page Giter Club logo

marvin's Introduction

Marvin

Marvin is a shell script to set up an Mac OS laptop for development.

It can be run multiple times on the same machine safely. It installs, upgrades, or skips packages based on what is already installed on the machine.

We support:

  • macOS Mavericks (10.9)
  • macOS Yosemite (10.10)
  • macOS El Capitan (10.11)
  • macOS Sierra (10.12)

Older versions may work but aren't regularly tested. Bug reports for older versions are welcome.

Install

In your Terminal window, copy and paste the command below, then press return.

curl --silent https://raw.githubusercontent.com/ankitatechie/marvin/master/mac | sh 2>&1 | tee ~/marvin.log

The script itself is available in this repo for you to review if you want to see what it does and how it works.

Once the script is done, quit and relaunch Terminal.

It is highly recommended to run the script regularly to keep your computer up to date. Once the script has been installed, you'll be able to run it at your convenience by typing laptop and pressing return in your Terminal.

Your last marvin run will be saved to ~/marvin.log. Read through it to see if you can debug the issue yourself. If not, copy the lines where the script failed into a new GitHub Issue for us. Or, attach the whole log file as an attachment.

What it sets up

Mac OS tools:

  • Homebrew for managing operating system libraries.

Unix tools:

Programming languages:

  • Node.js for running apps and installing JavaScript packages
  • Go programming language by google
  • Ruby a dynamic programming language with a focus on simplicity and productivity
  • Clojure a dynamic, general-purpose programming language
  • Java java Runtime Environment

Package Managers:

  • Yarn for managing JavaScript packages
  • NPM node package manager
  • Rbenv for managing versions of Ruby
  • Ruby Build for installing Rubies
  • Bundler for managing Ruby libraries
  • Leiningen for automating Clojure projects
  • Glide package Management for Go

Tools:

  • Consul service Discovery and Configuration Made Easy
  • Zookeeper develop and maintain an open-source servers
  • Kafka a distributed streaming platform
  • GRPC a high performance, open-source universal RPC framework
  • Image Magick to create, edit, compose, or convert bitmap images
  • Heroku Toolbelt for interacting with the Heroku API
  • Vagrant for development environments
  • Chef for automating your infrastructure

Databases:

  • Postgres for storing relational data
  • Redis for storing key-value data
  • My Sql for storing relational data
  • Mongo DB for storing non relational data

Utilities

  • youtube-dl download videos from YouTube
  • htop interactive system-monitor
  • tig text-mode interface for git
  • logstalgia Website Access Log Visualization
  • git-extras repo summary, repl, changelog population, author commit percentages
  • fasd command-line productivity booster

Apps

It should take less than 20 minutes to install (depends on your machine).

Contributing

Edit the mac file. Document in the README.md file. Follow shell style guidelines by using ShellCheck and Syntastic.

brew install shellcheck

Thank you, contributors!

License

marvin is inspired by laptop script, customized for my own needs. It is free software, and may be redistributed under the terms specified in the LICENSE file.

marvin's People

Contributors

ravisuhag avatar ankitatechie avatar marwahaha avatar

Watchers

James Cloos avatar  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.