paul's shell, git, etc config files. also homebrew, migration setup. good stuff.
Vim script Shell Python JavaScript
Switch branches/tags
Nothing to show
Permalink
Failed to load latest commit information.
.vim minor vim config changes. Mar 17, 2016
bin v2 of git delete-squashed-and-merged-branches May 10, 2017
cron minor: cron changes. May 10, 2017
docs rsync snippet Nov 1, 2016
fish Merge branch 'master' of github.com:paulirish/dotfiles Jun 21, 2017
prefs iterm prefs bump. ignore. May 11, 2017
.aliases alias chmox='chmod -x' Dec 16, 2016
.bash_profile import * from bash-sensible. fixes #59 Jan 4, 2017
.bash_prompt added missing space Mar 26, 2017
.bashrc homebrew and disk management stuff. assorted. Mar 17, 2016
.dircolors dircolors update to latest Dec 7, 2015
.eslintrc.js upgrade base eslint config. May 13, 2017
.exports hardening for ubuntu May 5, 2015
.functions use statikk for static file hosting. Jun 21, 2017
.gemrc gem installs shouldnt waste time on documentation. Dec 7, 2015
.gitattributes no more whitespace fixing automatically. Jan 26, 2013
.gitconfig Merge branch 'master' of github.com:paulirish/dotfiles Jun 21, 2017
.gitignore node_modules to global gitignore. this isn't for everyone. Nov 1, 2016
.gitmodules fish prompt: migrate to port of 'pure' prompt Dec 12, 2016
.hushlogin add .hushlogin file which avoids 'Last login: Mon Dec 12 10:40:21 on … Dec 12, 2016
.inputrc import * from bash-sensible. fixes #59 Jan 4, 2017
.osx .osx: hot corners how i like them. Apr 25, 2017
.ssh.config.example rename ssh config. Dec 8, 2016
.vimrc chromium git tweak Mar 10, 2017
.zshrc Remove right arrow command Oct 27, 2016
README.md readme note about submodule Dec 12, 2016
brew-cask.sh tweaks to brew/cask installs. Mar 26, 2017
brew.sh tweaks to brew/cask installs. Mar 26, 2017
crontab crontab & path bs. May 13, 2017
package.json upgrade base eslint config. May 13, 2017
setup-a-new-machine.sh remove c command which depends on python. Apr 25, 2017
symlink-setup.sh symlink-setup: fish Dec 7, 2015

README.md

Paul's dotfiles

  • I maintain this repo as my dotfiles, but I'm keenly aware people are using it for theirs.
  • You're quite welcome to make suggestions, however I may decline if it's not of personal value to me.
  • If you're starting off consider forking mathias or alrra. paulmillr and gf3 also have great setups

Setup

installing & using

  • fork this to your own acct
  • clone that repo
  • read and run parts of setup-a-new-machine.sh
  • read and run symlink-setup.sh
    • git config needs attention, read the notes.
  • use it. yay!

maintenance

  • commit/push changes you want.
  • you can also hypothetically cherry-pick commits from me and mathias and our fork ecosystem.

shell

This repo contains config for bash, zsh, and fish. As of March 2016, I'm using fish shell mostly, but fall back to bash once in a while. The bash and fish stuff are both well maintained; zsh, less so. If you're using fish you'll want to do a git submodule update --init.

my favorite parts.

.aliases and .functions

So many goodies.

The "readline config" (.inputrc)

Basically it makes typing into the prompt amazing.

  • tab like crazy for autocompletion that doesnt suck. tab all the things. srsly.
  • no more that says "Display all 1745 possibilities? (y or n)" YAY
  • type cat <uparrow> to see your previous cats and use them.
  • case insensitivity.
  • tab all the livelong day.

Moving around in folders (z, ..., cdf)

z helps you jump around to whatever folder. It uses actual real magic to determine where you should jump to. Seperately there's some ... aliases to shorten cd ../.. and .., .... etc. Then, if you have a folder open in Finder, cdf will bring you to it.

z dotfiles
z blog
....      # drop back equivalent to cd ../../..
z public
cdf       # cd to whatever's up in Finder

z learns only once its installed so you'll have to cd around for a bit to get it taught. Lastly, I use open . to open Finder from this path. (That's just available normally.)

overview of files

Automatic config

  • .vimrc, .vim - vim config, obv.
  • .inputrc - behavior of the actual prompt line

shell environment

  • .aliases
  • .bash_profile
  • .bash_prompt
  • .bashrc
  • .exports
  • .functions
  • .extra - not included, explained below

manual run

  • setup-a-new-machine.sh - random apps i need installed
  • symlink-setup.sh - sets up symlinks for all dotfiles and vim config.
  • .osx - run on a fresh osx setup
  • brew.sh & brew-cask.sh - homebrew initialization

git, brah

  • .git
  • .gitattributes
  • .gitconfig
  • .gitignore

.extra for your private configuration

There will be items that don't belong to be committed to a git repo, because either 1) it shoudn't be the same across your machines or 2) it shouldn't be in a git repo. Kick it off like this:

touch ~/.extra && $EDITOR $_

I have some EXPORTS, my PATH construction, and a few aliases for ssh'ing into my servers in there.

I don't know how other folks manage their $PATH, but this is how I do mine:

# The top-most paths override here.
      PATH=/opt/local/bin
PATH=$PATH:/opt/local/sbin
PATH=$PATH:/bin
PATH=$PATH:~/.rvm/bin
PATH=$PATH:~/code/git-friendly
# ...

export PATH

Sensible OS X defaults

Mathias's repo is the canonical for this, but you should probably run his or mine after reviewing it.

./.osx

~/bin

One-off binaries that aren't via an npm global or homebrew. git open, wifi-password, coloredlogcat, git-overwritten, and subl for Sublime Text.

Syntax highlighting for these files

If you edit this stuff, install Dotfiles Syntax Highlighting via Package Control