Description of Chrome Channels
- Install Chrome or Chrome Dev
- Note: Chrome and Chrome Dev use the same profile on a Mac
- Setup 2 profiles:
- Browsing: It may contain bookmarks, personal settings and extenstions
- Development: It should only be minimal, only have React, Redux and dev related extenstions
- Install Chrome Canary for future feature testing
From your terminal
- Install homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Note: brew needs Xcode Command Line Tools to be compiled so you may see the following request:
==> The Xcode Command Line Tools will be installed.
Press RETURN to continue or any other key to abort
From your terminal, brew install the following:
Note: As of June 2019, Node Debugger (NDB) does support Node 12.x, yet. So install Node 10 and sym
Install Node:
brew install node@10
- installs node
, npm
and npx
and adds symlinks to /usr/local/bin
Add to PATH:
echo 'export PATH="/usr/local/opt/gettext/bin:$PATH"' >> ~/.bash_profile
Re-source .bask_profile
:
source ~/.bash_profile
You can install install git using Homebrew or the GUI
brew install git
- installs git
, git-cvsserver
, git-receive-pack
, git-shell
, git-upload-archive
, git-upload-pack
, gitk
as well as pcre2-config
, pcre2grep
, pcre2test
.
Download and install git GUI from http://sourceforge.net/projects/git-osx-installer/
- This installs git to /usr/local/git
, and places symlinks for git
, git-credential-osxkeychain
, git-cvsserver
, git-shell
and gitk
as well as pcre2-config
, pcre2grep
, pcre2test
into /usr/local/bin
.
brew install postgres
brew install mongo
Setup git username and email address
- In Terminal,
git config --global user.name "John Doe"
git config --global user.email [email protected]
The credential helper tells Git to remember your GitHub username and password in the OSX Keychain app. If you installed Git using Brew then the credential helper is already installed installed. Configure it below
- On the Terminal,
git config --global credential.helper osxkeychain
Now you can use HTTPS git URLs instead of SSH. If you are using 2-Factor Authentication then you must use a Personal Access Token on the Terminal instead of your password. Setup a Personal Access Token below
If you are 2FA you must use a Personal Access Token to login to GitHub from the terminal
On github.com:
- Go to:
Settings > Developer settings > Personal access tokens
- Create an access token, copy the token
- On the Terminal, make a commit and then push the change to a remote on GitHub.
- Enter the Personal Access Token instead of your password
Note: the Personal Access Token will be saved in the OSX Keychain app
Install common global NPM packages
- brew install the following:
npm install -g eslint http-server nodemon
Install Chrome Labs Node Debugger
npm install -g ndb
Install Java JDK
- Update brew
brew update
- Retrieve casks info
brew tap homebrew/cask-versions
- Install current Java JDK
brew cask install java
ESLint supports both global and local configurations so you can have eslintrc files in individual projects as well as at user root. The child configurations in the project folder take precedence over higher configurations. In your user root create the following file.
- From your terminal:
- cd to user root
cd ~
- touch
eslintrc.json
- add the following to the file
- cd to user root
/**
* ESLint: http://eslint.org/docs/user-guide/configuring
*/
{
// https://eslint.org/docs/user-guide/configuring#specifying-parser
"parserOptions": {
"ecmaVersion": 7 //same as 2016
},
// https://eslint.org/docs/user-guide/configuring#specifying-environments
"env": {
"browser": true,
"node": true,
"es6": true,
"mocha": true,
"jest": true,
"mongo": true,
"jquery": true
},
// our configuration extends the recommended base configuration
// https://eslint.org/docs/user-guide/configuring#extending-configuration-files
"extends": "eslint:recommended",
// https://eslint.org/docs/rules/
// ESLint rules: Severity Levels: off = 0 | warn = 1 | error = 2
"rules": {
"strict": ["error", "safe"], //prefer `'use-strict';` pragma
"eqeqeq": [2, "allow-null"],
"no-console": "off", //ignores `console.log()`
"no-unused-vars": ["warn", { "vars": "local", "args": "after-used", "ignoreRestSiblings": false }],
"no-eval": "error", //disallows `eval()` usage
"quotes": [2, "single", "avoid-escape"], //prefer single quotes over double quotes
"indent": ["error", 2, { // enforce 2 space indents (not tabs)
"SwitchCase": 1 // clauses with 2 spaces with respect to switch statements
}],
"semi": ["error", "always"] //enforce semi-colon usage
}
}
Set the default PostgreSQL PGDATA directory
- Add the following to your
~/.bash_profile
file
touch ~/.bash_profile
echo 'export PGDATA=/usr/local/var/postgres' >> ~/.bash_profile
- Install Visual Studio Code
- Recommended Extensions:
- ESLint
- Git History
- Git Lens
- vscode-icons
- npm
- npm intellisense
- Postgres GUIs
- Mongo GUIs
App Store Apps:
- Magnet ($)
- ScreenBrush
- Chrom or Chrome Dev
- Chrome Canary
- Chrome Extensions for browsing
- AdBlock
- Open Frame
- Thinkful sessions
- Chrome Extensions for Development
- JSON Viewer
- React
- Postman
- Slack
- System Monitor ($)
Other Apps
- Dropbox
- Google Drive
Git uses both local and global gitignore files. You can setup a global gitignore which will prevent common files from accidentally being committed to your repos.
- From your terminal:
- cd to user root
cd ~
- touch
.gitignore
- add the following configuration
- cd to user root
######################
# REF: https://gist.github.com/octocat/9257657
# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so
# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip
# Logs and databases #
######################
*.log
# *.sql This should be committed for demos
*.sqlite
# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
If you installed the above apps using brew, then you can setup command line completion for git, npm, brew,
#####
# (OPTIONAL) COMMAND LINE COMPLETION
# http://superuser.com/questions/31744/how-to-get-git-completion-bash-to-work-on-mac-os-x
#####
# Load bash completion for brew
if [ -f `brew --prefix`/etc/bash_completion.d/brew ]; then
source `brew --prefix`/etc/bash_completion.d/brew
fi
# Load bash completion for git
if [ -f `brew --prefix`/etc/bash_completion.d/git-completion.bash ]; then
source `brew --prefix`/etc/bash_completion.d/git-completion.bash
fi
# Load bash completion for NPM
if [ -f `brew --prefix`/etc/bash_completion.d/npm ]; then
source `brew --prefix`/etc/bash_completion.d/npm
fi
Optionally, you can setup your prompt to show your git repository status
#####
# (OPTIONAL) GIT PROMPT SUPPORT
# View the git-prompt.sh file for mor information
#####
# Load git prompt
if [ -f `brew --prefix`/etc/bash_completion.d/git-prompt.sh ]; then
source `brew --prefix`/etc/bash_completion.d/git-prompt.sh
PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '
fi
Now you command prompt will looks something like this:
[user@MACHINE git-repository-name (master)]$
Disable swipe to go back
defaults write com.google.Chrome.plist AppleEnableSwipeNavigateWithScrolls -bool FALSE
OPTIONAL: Show Hidden Files
defaults write com.apple.finder AppleShowAllFiles YES
To hide them again, run
... AppleShowAllFiles NO
- Make dock slide-out very, very slowly so it doesn't get in the way
defaults write com.apple.dock autohide-delay -int 5; killall Dock;
- Make dock slide-out instantly, if you like that kinda thing?!
defaults write com.apple.dock autohide-delay -int 0;
defaults write com.apple.dock autohide-time-modifier -int 0;
killall Dock;
- Restore dock defaults
defaults delete com.apple.dock autohide-delay;
defaults delete com.apple.dock autohide-time-modifier;
killall Dock;
Add an executable FOO
to PATH
echo 'export PATH="/path/to/FOO:$PATH"' >> ~/.bash_profile
If foo
is in /usr/local/bin/
, then:
echo 'export PATH="/usr/local/bin/FOO:$PATH"' >> ~/.bash_profile