Skip to content

paulirish/dotfiles

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
November 27, 2022 14:33
November 27, 2022 14:12
March 9, 2023 15:16
December 7, 2022 10:19
February 1, 2021 11:49
December 18, 2022 14:52
December 7, 2016 16:06
November 27, 2022 15:24
May 25, 2021 13:02

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 anew, consider forking mathias or alrra. paulmillr and gf3 also have great setups

Setup

I would not suggest you just wholesale use my dotfiles. But there's a few files where there's great goodies you can steal.

shell

This repo contains config for fish and bash. 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. 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.

.gitconfig

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.
  • .macos - run on a fresh mac os setup
  • brew.sh & brew-cask.sh - homebrew initialization

git, brah

  • .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.

./.macos

~/bin

One-off binaries that aren't via an npm global or homebrew. git open, subl for Sublime Text, and some other git utilities.

2020 update

Rust folks have made a few things that are changing things.

Dotfiles mgmt todo

Also I'd like to migrate to using one of these:

also interested in https://github.com/dandavison/open-in-editor

About

paul's fish, bash, git, etc config files. good stuff.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published