Skip to content

Instantly share code, notes, and snippets.

@jfie5
Last active December 8, 2016 20:10
Show Gist options
  • Save jfie5/fd10588e098a0bef7b41 to your computer and use it in GitHub Desktop.
Save jfie5/fd10588e098a0bef7b41 to your computer and use it in GitHub Desktop.
Mac OSX Computer & Dev Environment Setup

Mac OSX Setup

What to install, from where, and how to get things running on a Mac. This can be adapted to Linux pretty easily.


Easy Installer Packages

A series of packages useful for installing specific tools, add-ons.

# Homebrew http://brew.sh/

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# Node Package Manager https://www.npmjs.com/

brew install node

Text Editors

# Sublime http://www.sublimetext.com/

Sublime is a $70 (currently) text editor. Sublime has access to many advanced packages that integrate functionlity:

  • File parse checking/linting (automated completeness checking).
  • Advanced SFTP/FTP allowing custom remote configurations per-subfolder.
  • Git status indication throughout a file.

# Atom https://atom.io/

Atom is a new free text editor similar in layout and design to Sublime. Atom has comparable functionlity to Sublime, but is still early in development, and ultimately limited in certain ways. However, Atom take Git status integration to a higher level, and allows easier integration of advanced linters. As features continue to improve, Atom will likely beat out Sublime.

# Coda 2 https://panic.com/coda/

Coda is a $99 (currently) text editor. Coda is a fairly simple code editor with syntax highlighting, basic FTP/SFTP, and version control built in. Coda is extremely limited in advanced functionality, e.g. advanced Git & file parse check/linting.


Linters

# PHPCS - PHP Code Sniffer http://pear.php.net/package/PHP_CodeSniffer/redirected

PHP Code Sniffer (phpcs) performs parse checking on PHP files. It can be used in conjuction with Sublime or Atom to view parse errors before saving and posting the file to the server. This eliminates most simple PHP errors before they reach the server. However, this will not take care of 100% of Fatal PHP errors (e.g. a function is not included, but used in a file).

Installing with Brew

Add additional homebrew taps (sources)

$ brew tap homebrew/dupes
$ brew tap homebrew/versions
$ brew tap homebrew/homebrew-php

Install PHP with Pear support

OSX already has PHP installed, but it's easier to manage a separate installation especially when you need things like Pear.

$ brew install php56 --with-pear

Install PHP Code Sniffer

$ pear install PHP_CodeSniffer
$ export PATH="$(brew --prefix php56)/bin:$PATH"

# JSCS - Javascript Code Style http://jscs.info/

Javascript Code Style (JSCS) outlines styling errors per a given configuration. The file .jscsrc is placed within the project directory, linked is a very basic default styling config (https://gist.github.com/jfie5/fb8219cc7574c354aa0a).

$ npm install jscs -g

# JSHint http://jshint.com/about/

JSHint (Javascript) performs parse checking and generalized code consistency checks on Javascript files.

$ npm install jshint -g
@jfie5
Copy link
Author

jfie5 commented Sep 23, 2016

Install Grunt CLI http://gruntjs.com/

$ npm install grunt-cli -g

Install Coffee Script http://coffeescript.org/

$ npm install -g coffee-script

@jfie5
Copy link
Author

jfie5 commented Nov 17, 2016

Installing Packages for Atom

apm install remote-ftp
apm install sublime-style-column-selection
apm install activate-power-mode
apm install atom-beautify
apm install color-picker
apm install git-time-machine

apm install language-markdown
apm install language-pgsql
apm install language-pug
apm install language-r
apm install language-swift

apm install linter

apm install linter-coffeelint
apm install linter-jshint
apm install linter-pep8
apm install linter-php
apm install linter-pug-lint

apm install markdown-pdf
apm install markdown-preview-plus

apm install merge-conflicts
apm install minimap

apm install seti-icons
apm install tabs-to-spaces

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment