Skip to content

Commit

Permalink
Initial commit.
Browse files Browse the repository at this point in the history
Whitespace cleanup.

Add installation instructions.

Add update instructions.

Typo.

Add TRACE and OPTIONS aliases.

Add a note about the `.osx` file.

Add `undopush` alias.

Fix a typo in the fix for the ancient UTF-8 bug in QuickLook.

Remove the disturbing ".dmg" Mounting Verification

Add some more goodies to .osx.

Avoid creating .DS_Store files on network volumes.

Enable Safari’s debug menu.

Added "lsd" to list only directories

Tweak README.

Tweak README.

Disable Resume system-wide.

Thanks to nspragmatic on Hacker News. http://news.ycombinator.com/item?id=2974911

Enable full keyboard access for all controls (e.g. enable Tab in modal dialogs).

Show a warning and ask for user confirmation before running the
bootstrapper. Fixes #8.

Added enable-spring-load-actions-on-all-items -bool true

Ignore duplicate history entries.

Comment tweak.

Make sure rsync output starts on a new line.

added stuff for ssh tab completion

Better tab completion for SSH hostnames based on ~/.ssh/config.

Add aliases to show/hide hidden files in Finder. Closes #15.

Posix path in finder title, sheet speed, hidden application's icons are transparent

Minor cleanup.

Fix typo.

Add tab completion for `defaults read|write NSGlobalDomain`. Useful when looking for new ~/.osx additions.

Reload dotfiles after updating through the bootstrapper.

Check if ~/.ssh/config exists before grepping it.

Add aliases to hide/show all desktop icons.

Add aliases to hide/show all desktop icons.

Enable AirDrop over Ethernet and on unsupported Macs running OS X Lion.

Added HISTIGNORE to ignore certain commands in history

Show indicator lights for open applications in the Dock, and don’t animate opening applications from the Dock. (These can be set through System Preferences → Dock as well.)

Disable the “Are you sure you want to open this application?” dialog.

Always show scrollbars.

Use `NSGlobalDomain` instead of `-g`.

Require password immediately after sleep or screen saver begins. (Can also be set via System Preferences → Security & Privacy → General.)

Map bottom right Trackpad corner to secondary click (right-click).

Add `emptytrash` alias.

Add `emptytrash` alias.

Show all filename extensions in Finder. (Can be set via Finder → Preferences too.)

Thanks for the pointer, @Lri! https://github.com/mathiasbynens/dotfiles/issues/5#issuecomment-2162323

Allow quitting Finder via ⌘ + Q; doing so will also hide desktop icons.

Enable tap to click (Trackpad).

Typo.

Set a blazingly fast keyboard repeat rate.

Show remaining battery time; hide percentage.

Automatically hide and show the Dock.

Only use UTF-8 in Terminal.app.

Empty Trash securely by default.

Disable the warning when changing a file extension.

Disable the warning before emptying the Trash.

Add PlistBuddy alias, because sometimes `defaults` just doesn’t cut it.

Add PlistBuddy alias, because sometimes `defaults` just doesn’t cut it.

Show item info below desktop icons.

Disable the Ping sidebar in iTunes.

Disable Ping entirely.

Use full PlistBuddy path instead of the alias, so `.osx` can be used stand-alone.

Check if `tmutil` is available before using it. (It’s not available on Snow Leopard.)

Only reset Launchpad when it’s actually available. Fixes #24.

The fix for the UTF-8 bug in QuickLook causes problems when saving files in Adobe Illustrator CS5, so comment it out.

Enable subpixel font rendering on non-Apple LCDs

Minor tweaks.

Fix .gitconfig formatting (use tabs instead of spaces).

Typo.

Add `json` function. Example usage: `json http://fronteers.nl/congres/2011/attendees.json`

make it possible for bootstap.sh to be executed from wherever

Undid some silly mistakes and made the script more simplerder

Typo.

Add a more convenient `whois` alias.

Add a more convenient `whois` alias.

Make the `json()` function more generic by allowing any JSON string instead of just JSON URLs.

Add a link to @janmoesen’s tilde repository.

Sexier file sourcing.

Add .vimrc, heavily based on the one @gf3 uses. Fixes #4.

Link to the issue tracker for suggestions.

.vimrc: Make tabs as wide as two spaces.

Looks like `IncludeDebugMenu` was replaced by `IncludeInternalDebugMenu` recently.

Don’t source .bash_profile when PS1 is not set (for non-interactive shells).

Stolen from @janmoesen’s https://github.com/janmoesen/tilde/blob/master/.bashrc:

Use `hd` alias for canonical hex dump. Thanks, @janmoesen!

Use `hd` alias for canonical hex dump. Thanks, @janmoesen!

Steal some `.inputrc` goodies from @janmoesen/tilde.

Steal some nifty aliases from @janmoesen/tilde.

Prefer US English and use UTF-8.

Use double quotes more consistently.

Remove the green checkmark icons in Dropbox.

Clarify Dropbox icon comment.

Add `cleanup` alias, which recursively deletes `.DS_Store` files. Useful for cleaning up external HDDs after copying over some folders.

Make `cleanup` list the files it deletes. Kind of like how `rm -v` works.

.vimrc: add `set wildmenu` for better command-line completion. Thanks, @alrra!

Removing duplicate `set mark-symlinked-directories on` settings.

Removing duplicate `set mark-symlinked-directories on` settings.

Add some more commands to `$HISTIGNORE`.

Add a link to cowboy/dotfiles

.vimrc: Centralize backups, swapfiles and undo history

Move disabled QuickLook fix to the bottom

Add `escape` function which escapes UTF-8 characters into their 3-byte format

Example:

    $ escape "♥♡♥"
    \xE2\x99\xA5\xE2\x99\xA1\xE2\x99\xA5
    $ echo -e "\xE2\x99\xA5\xE2\x99\xA1\xE2\x99\xA5"
    ♥♡♥

Add `unidecode` function

Example:

    $ unidecode "\x{1D306}"
    𝌆

Use tabs instead of double-space indents

Allow piping to the `json` function

Make `emptytrash` empty the trash for mounted external volumes too

The downside is that this requires `sudo`. Closes #32.

Create .vim/{backups,swaps,undo} directories if they don’t exist

Allow running bootstrap.sh with a --force or -f option

This avoids the confirmation prompt.

Replace the `server` alias with a function that optionally takes an argument specifying the port number

Inspired by @padolsey’s https://gist.github.com/1525217#gistcomment-71652.

Remove old `server` alias

Ref. 958517dcf4210aefffcafa3cc41f4ebb4edd5e36

`server`: Use parameter expansion instead of a fake ternary

`server`: Use parameter expansion instead of a fake ternary

README: Document the -f/--force option for bootstrap.sh

`server` function: Set the default Content-Type to `text/plain` instead of `application/octet-stream`

Hat tip to @cowboy: https://github.com/cowboy/dotfiles/blob/2874a86d207883a18e5e4c01219f9adb42d82c09/bin/serve#L26-43

`server` function: Set the default Content-Type to `text/plain` instead of `application/octet-stream`

Hat tip to @cowboy: https://github.com/cowboy/dotfiles/blob/2874a86d207883a18e5e4c01219f9adb42d82c09/bin/serve#L26-43

README: Add Git-less installation instructions

Closes #35.

Use `tar -z` explicitly

Ref. #35.

Serve unknown file types as UTF-8, as suggested by @janmoesen

Include .vim directory and subdirectories

README: List files while untarring

Better `json` function

Ref. 9b0af44766d2a2cc61ae0142ac3ec9f0bed75674

`.osx`: Restart the `SystemUIServer` and suppress `kill` output.

.gitignore: Add more OS-specific hidden files

`server` function: Serve everything as UTF-8

Even though this is not technically correct for binary files, it doesn’t actually break anything.

`server` function: Serve everything as UTF-8

Even though this is not technically correct for binary files, it doesn’t actually break anything.

.osx: Enable iTunes track notifications in the Dock

Screenshot: http://www.maclife.com/article/howtos/5_ways_customize_dock_terminal

README: Clarify that it doesn’t matter where the repository is cloned, and document ~/.extra

README: Tweak the part about ~/.extra

.bash_prompt: Add screenshot URL

.bash_profile: Be sure to source `.bash_prompt` first, in case it sets the PATH and subsequent dotfiles rely on it

.aliases: Use `sudo` to empty local trash as well

nerfing .vimrc's setrelativenumber and undodir options in case of older vim version

.vimrc: Tabs, not spaces

Add `urlencode` alias

Via http://twatlr.com/thread/166830178226540544.

Add .gvimrc and gVim-specific color scheme

.aliases: Make `emptytrash` clear Apple System Logs

This results in a faster shell launch. I just deleted 5.1 MB of logs and my shell startup time went from about 3 seconds to 3 milliseconds (or so it feels).

Shift the '-type f' argument before the '-name' argument in `find` to make it more efficient.

.vimrc: Add some goodies found in @alrra’s dotfiles

.vimrc: Add some goodies found in @alrra’s dotfiles

.osx: Make ⌘ + F focus the search input in iTunes

Move `undopush` alias to `.gitconfig`, as suggested by @necolas

Also, add some other Git aliases while we’re at it.

.gitconfig: Add comments

.gitconfig: Add `go` and `ca` aliases

.gitattributes: Add a comment explaining what `* text=auto` does

.gitconfig: Add `c` alias which clones a repository including all submodules

.gitconfig: Add `d` alias

.osx: Enable snap-to-grid for desktop icons

Ref. #5

.osx: Enable snap-to-grid for desktop icons

Ref. #5

.osx: Tweak some more hidden preferences

Thanks to @Lri! Ref. #5.

.bash_profile: Tweaks

* Append to the Bash history file, rather than overwriting it
* Autocorrect typos in path names when using `cd`

README: Add @necolas and @tejr

.inputrc: Don’t prompt when autocompleting unless there are over 500 possible completions

See http://blog.sanctum.geek.nz/lazier-tab-completion/.

.gitconfig: Use `origin` as the default remote on the `master` branch

Apparently there are cases where this is not the default: http://stackoverflow.com/q/658885/96656

Hat tip to @cowboy.

.osx: Disable the “reopen windows when logging back in” option

.osx: Disable the “reopen windows when logging back in” option

.functions: Add `gurl` function for gzip-enabled `curl`

Inspired by @bluesmoon: http://twitter.com/bluesmoon/status/179982379098710017

.wgetrc: Initial commit

Disclaimer: most of these settings have been stolen from @janmoesen’s extremely well-commented .wgetrc.

.screenrc: Initial commit

Inspired by @janmoesen’s .screenrc.

.wgetrc: Remove the `iri` command

It’s enabled by default on builds that support it, and setting in other builds throws an error.

.wgetrc: Remove the `local_encoding` setting for now

Is it possible to conditionally configure a wget setting, only if it’s supported by the current wget build? http://unix.stackexchange.com/q/34730/6040

.functions: Add `dataurl` function

Based on @lri’s http://lri.me/profile.

.brew: Initial commit

Make .brew executable

.functions: Alias `diff` to `git diff` when available

.aliases: Enable sudo with aliases

@janmoesen explains it here: https://github.com/janmoesen/tilde/commit/805e8117fd0fb429055d280509e14be8427c226b

http://www.gnu.org/software/bash/manual/bashref.html#Aliases says: “If the last character of the alias value is a space or tab character, then the next command word following the alias is also checked for alias expansion.”

.aliases: Add `update` alias

Added codepoint function

Added newline after codepoint

.functions: Minor comment tweaks

.osx: Show status bar in Finder

.osx: Show status bar in Finder

.osx: Copy email addresses as `foo@example.com` instead of `Foo Bar <foo@example.com>` in Mail.app

Thanks to @zmoazeni for the suggestion.

.osx: Fix typo in the Dock spring loading tweak

TextMate is awesome, but it would be nice to have a SublimeText alias, too.

.osx: Remove the auto-hiding Dock delay

.osx: Enable the debug menu in iCal and Address Book

Thanks to @3vincent. See issue #5: https://github.com/mathiasbynens/dotfiles/issues/5#issuecomment-4896967

.exports: Highlight (color-code) section titles in manual pages

Added default to add a spacer to the dock.

.osx: Disable the “add spacer to Dock” commands by default

Added line to add text selection to QuickLook

Created another entry for the ability to select text when viewing a
document in QuickLook

.osx: Minor tweaks

.osx: Group commands by type

.bash_profile: Add tab completion for `killall SystemUIServer`

.osx: Make Trackpad settings more robust

Fixes #48.

.osx: Add hot corners

.osx: Cleanup

.osx: Add “focus follows mouse” commands for Terminal.app and X11 apps

I disabled (commented) these settings by default as I think it’s confusing that “focus follows mouse” works only for some apps. I’d rather have consistent, less confusing behavior across all apps, even if it’s not as useful.

.osx: Prevent Time Machine from prompting to use new hard drives as backup volume

.aliases: More generally useful shortcuts

.aliases: More generally useful shortcuts

.aliases: Better organization

.osx: `killall` all affected apps

.bash_profile: Add `killall` tab completion for common apps

.brew: Add `exiv2` and `imagemagick` (disabled by default)

I have some others in my `brew ls` that I’ll probably add soon.

.brew: Disable `exiv2` and `imagemagick` by default

.gitconfig: Make `git ca` remove deleted files, too

remove dupe config from .inputrc (compare lines 7-8)

Fix error thrown when Reseting Launchpad in some conditions

When multiple *.db files existed in ~/Library/Application Support/Dock/ ,
[ -e ~/Library/Application\ Support/Dock/*.db ] would throw an error.

adding screenshot location and file format

.osx: Clean up after commit 5b36bee8676dc8e800f68e3a559e102dcefcae36

Icon size of 48 pixels for dock items

.osx: Set the icon size of Dock items to 36 pixels

Comment out change of "Open windows on startup", OSX 10.7.4 introduces this by default

.osx: Remove the “disable reopen windows when logging back in” command

This behavior was fixed in OS X 10.7.4, and the previous solution was a hack anyway.

Maximum set volume is 7, not 10

See:
http://docs.info.apple.com/article.html?path=AppleScript/2.1/en/as213.ht
ml

.aliases: Make `ips` show IPv6 addresses as well

.gitconfig: Add `credit` alias to quickly change the author of the latest commit

Inspired by @holman’s https://github.com/holman/dotfiles/blob/master/bin/git-credit.

.gitconfig: Add `credit` alias to quickly change the author of the latest commit

Inspired by @holman’s https://github.com/holman/dotfiles/blob/master/bin/git-credit.

Update .inputrc

.functions: Add `gz` function to get gzipped file size

.gitconfig: Add `tags`, `branches` and `remotes` aliases

.gitconfig: Show the diff when writing a commit message

Thanks to @miketaylr: http://twitter.com/miketaylr/status/209688450868326400

.gitconfig: Tweak `ca` alias

Thanks to @necolas! https://github.com/mathiasbynens/dotfiles/commit/15d4c9583d66be40a497706134b637e8c1f10ae6#commitcomment-1416521

.vimrc: Use the OS clipboard by default

Add .hushlogin

The mere presence of this file in the home directory disables the system
copyright notice, the date and time of the last login, the message of the
day as well as other information that may otherwise appear on login.
See `man login`.

.aliases: Add `....` and `.....`

.aliases: Add `h` (`history`) and `j` (`jobs`)

.bash_profile: Add tab completion for many more commands

.vimrc: Explicitly allow the use of backspace in insert mode

.vimrc: Fix typo in comment

.gitignore: Ignore compiled Python files

.hgignore: Initial commit

.bash_profile: Load `.extra` last, allowing it to override any previous settings

.bash_profile: Load `.extra` last, allowing it to override any previous settings

.osx: Set language and text formats

.osx: Disable “natural” (Lion-style) scrolling

.osx: Fix typo

.osx: Enable swipe between pages with three fingers

Ref. #80. Thanks to @Lri for the help.

.osx: Group commands in categories

.osx: Minor formatting tweak

.aliases: Update to `stat` v8.17 (GNU coreutils)

.osx: Enable the debug menu in Disk Utility

.osx: Enable the debug menu in Disk Utility

.osx: Disable automatic termination of inactive apps

.osx: Speed up Mission Control animations

Note that I don’t completely disable the animation, as that results in a very unpleasant effect.

.brew: Install a recent version of `grep`

.brew: Install GNU core utilities (those that come with OS X are outdated)

.osx: Explicitly enable swipe between pages

Ref #80.

README: Mention `.brew`

Ref. #83.

.osx: Make iTunes arrows go to your library by default (rather than the iTunes Store)

.osx: Disable the iTunes arrow links completely

Enable some Bash 4 features when possible:

- `autocd`
- Recursive globbing

Remove the feature tests for Bash 4 features and just fail silently

Hat tip: @svnpenn.

.bash_prompt: Tweak `$PS2`

.osx: Show hidden files by default in Finder

I’ve had the `show` and `hide` aliases for ages, but since I use `show` as
the default setting, it makes sense to include it in `.osx` as well.

.vimrc: Respect modeline by default

.vimrc: Enable per-directory `.vimrc` files

Ref. #86. Thanks to @necolas for the suggestion.

.osx: Increase sound quality for Bluetooth headphones/headsets

This has the same effect as setting Bluetooth Explorer → Utilities →
Special Options → Minimum bitpool to `40`. See
http://scott.dier.name/2009/10/osx-snow-leopard-a2dp.html.

.osx: Increase sound quality for Bluetooth headphones/headsets

This has the same effect as setting Bluetooth Explorer → Utilities →
Special Options → Minimum bitpool to `40`. See
http://scott.dier.name/2009/10/osx-snow-leopard-a2dp.html.

.brew: Install PHP 5.4

.aliases: Support colorized output for `ls` 8.17 only (GNU coreutils)

.aliases: Detect which `ls` flavor is in use and use the appropriate flag for colorized output

Thanks to @divya for making me do this ;)

.aliases: Optimize the way we detect the `ls` flavor

Follow-up to 4169a34df1783b6b0727a527b867cefecaa069b5. Thanks to @janmoesen!

.aliases: Optimize the `ls` flavor detection even further

Ref. #89.

.osx: Hide the useless Time Machine and Volume icons

Fun fact — this is what the OS X Mountain Lion menu bar looks like
with all the menu extras (/System/Library/CoreServices/Menu Extras)
enabled: http://i.imgur.com/DHTuw.png

.osx: Hide the useless Time Machine and Volume icons

Fun fact — this is what the OS X Mountain Lion menu bar looks like
with all the menu extras (/System/Library/CoreServices/Menu Extras)
enabled: http://i.imgur.com/DHTuw.png

.osx: Comment out the line that enables the 2D Dock

I’ll try out the new frost glass Mountain Lion Dock for a while.

.osx: Add Twitter.app settings

.aliases: Make `update` update `npm` and its installed packages as well

.bash_profile: Source `~/.extra` before the other dotfiles

This is needed in case `$PATH` is expanded in `~/.extra`.

.osx: Show icons for hard drives, servers, and removable media on the desktop

.osx: Add more Finder settings for icons on the desktop and in icon views

.osx: Set computer name

.osx: Don’t show Dashboard as a Space

.osx: Group windows by application in Mission Control

.osx: Hide Safari’s bookmarks bar by default

.functions: Attempt to make `server` open the browser *after* the server has started

.osx: Use the Pro theme by default in Terminal.app

.osx: Enable the Develop Menu and the Web Inspector in Safari

.osx: Add commented out command to disable smooth scrolling

This is only really useful on older Macs that mess up the animation.

.brew: Install GNU Find Utilities, `g`-prefixed

Thanks to @jacobj and @olov for the suggestion.

.aliases: Add `lscleanup` alias that cleans up LaunchServices

This removes duplicates in the “Open With” menu.

.osx: Enable HiDPI display modes without using Quartz Debug

.aliases: Add `ios` alias to launch iOS Simulator

.functions: Add `unquarantine` which force-removes a downloaded app or file from the quarantine

Thanks to @jasomill on Hacker News: http://news.ycombinator.com/item?id=4307379.

.brew: Fix typo

Thanks to @oschrenk for the heads up on https://github.com/mathiasbynens/dotfiles/commit/8a79072feb638ab964f4ba6385551be4e7ae3edf#commitcomment-164452.

.osx: Use a modified version of the Pro theme in Terminal.app

.osx: Allow hitting the Backspace key to go to the previous page in Safari’s history

.brew: Remove outdated versions from the cellar

.osx: Don’t group windows by application in Mission Control

This makes it use the old Exposé behavior instead.

.aliases: Add `mergepdf` alias that concatenates PDF files

Credit goes to Fritz Stelluto: http://blog.gotofritz.net/howto/joining-pdf-files-in-os-x-from-the-command-line/.

.functions: Add `note` and `remind`

`note` quickly adds a note to Notes.app, and `remind` adds a reminder to — you guessed it — Reminders.app. Both applications are available on OS X 10.8.

Note that in order for `note` to work, iCloud sync must be enabled for Notes.app.

.osx: Explain how to use the ⌘ + F iTunes hack with other system languages

Thanks to @renaudleo for this discovery.

.aliases: Make `fs` work with both GNU `stat` and OS X `stat`

.osx: Add the keyboard shortcut ⌘ + Enter to send an email in Mail.app

.osx: Reveal IP address, hostname, OS version, etc. when clicking the clock in the login window

.osx: Ask for the administrator password upfront

Use @cowboy’s `sudo` keep-alive snippet (https://gist.github.com/3118588)
to continuously update the existing `sudo` time stamp until `.osx` has
finished running.

.osx: Kill the affected applications by their new OS X 10.8 names as well

E.g. by killing both iCal and Calendar we support pre-OS X 10.8 and OS X 10.8 itself.

.osx: Add a note about the iTunes track notifications in OS X 10.8

.functions: Rename `md` to `mkd` now that OS X 10.8 has an utility named `md`

.osx: Remove the iTunes track notifications tweak

It crashes the Dock in OS X 10.7.4 and doesn’t work in OS X 10.8 anyway.

Ref. https://github.com/mathiasbynens/dotfiles/commit/45c1bced7371b93a49f884bc6fe868571fe94402#commitcomment-1671603.

.osx: Add a note saying that the iCal debug menu tweak doesn’t work in OS X 10.8

Ref. #113.

.osx: Update some iTunes tweaks to work with iTunes 10.6.3

Ref. #114. Thanks to @mourawaldson for the heads-up!

.aliases: Use `command -v` instead of `type -t`

`type -t` is not as portable (i.e., not in POSIX) as `command -v`, and `command -v` also takes aliases and functions into account.

Ref. #109.

.bash_profile: Source `~/.path` before and `~/.extra` after all the other dotfiles

.bash_profile: Fix typo

Only source `~/.extra` once.

.functions: Make `dataurl` more generic

.functions: Add `phpserver`

Ref. #116.

.bash_profile: Update `killall` Tab completion for OS X 10.8

README: Add example `~/.path` file

.osx: Use list view in all Finder windows by default

http://superuser.com/questions/320955/forcing-lion-finder-to-open-in-list-view#comment345957_320955

.osx: Use list view in all Finder windows by default

http://superuser.com/questions/320955/forcing-lion-finder-to-open-in-list-view#comment345957_320955

bin: Add `subl` symbolic link

.bash_profile: Add `~/bin` to the `$PATH`

Just like before, the `$PATH` can still safely be extended by adding `~/.path`.

.exports: Append `ls` with an argument to the `$HISTFILE`

.osx: Set NetBIOS name

.osx: Set the timezone

.osx: Enable advanced image options in Disk Utility’s debug menu

.osx: When performing a search, search the current folder by default in Finder

.osx: Enable access for assistive devices

.osx: Enable scroll to zoom

.osx: Add energy saver settings

.osx: Automatically illuminate built-in MacBook keyboard in low light

.brew: Install Bash 4

.osx: Drop the energy saver preferences

bin: Update Bash symlink

.osx: Disable the Genius sidebar in iTunes

.osx: Disable radio stations in iTunes

.osx: Set Safari’s home page to `about:blank`

.osx: Add energy saver preferences

README: Credit Chris Gerke (@cgerke)

README: Credit Chris Gerke (@cgerke)

.osx: Automatically quit printer app once the print jobs complete

.osx: Disable the crash reporter (commented)

.osx: Set Help Viewer windows to non-floating mode

.osx: Add TextEdit settings

.osx: Add Transmission.app settings

.osx: Add SizeUp.app preferences

README: Credit @ptb

.osx: Use `sudo` to set the NetBIOS name

.osx: Use `sudo` to set the NetBIOS name

.osx: Hide `systemsetup` output when setting the timezone

.osx: Improve categorization

.osx: Save to disk (not to iCloud) by default

README: Credit Lauri

.osx: Tweak formatting

.aliases: Add `badge`

This rings the terminal bell, and — when using Terminal.app — puts a badge on its Dock icon. Screenshot: http://i.imgur.com/OtYdu.png

.osx: Prevent Safari from opening ‘safe’ files automatically after downloading

Ref. #123.

.functions: Optimize `dataurl`

Thanks to @lri: https://github.com/fin1te/dotfiles/commit/b8ce15ee91bc8658c27599347c376c30c6bfa1e1#commitcomment-1749202

.functions: Add `fs`

…and remove the `fs` alias from `.aliases`.

Ref. #125.

README: Link to @matijs/dotfiles instead of @matijs/homedir

.aliases: Make `flush` kill `mDNSResponder` as well

Ref. #126 and http://support.apple.com/kb/HT5343.

.osx: Add iPhone Simulator.app to Launchpad

.aliases: Remove `ios`

.gitconfig: Add `reb` alias

Stolen from https://github.com/porada/dotfiles/commit/05162b585b2e9cd6a92f12e1c61e1f5687104a17.

.aliases: Add `gurl` for Gzip-enabled `curl`

Ref. 1b3ed7a646de7a652f0596985af976a438e32aca.

.osx: Check for software updates daily

.osx: Enable the WebKit Developer Tools in the Mac App Store

More info here: http://osxdaily.com/2011/09/07/enable-element-inspector-mac-app-store/

Ref. #129.

.functions: Tweak `fs`

.gitconfig: Tweak `diff` aliases

.gitconfig: Explain `diff`-related aliases

.osx: Correct symlink for iOS Simulator

Ref. #135.

.osx: Restart Dashboard

.aliases: Add `dt`

.aliases: Add `dt`

.osx: Consistency tweaks

.aliases: Alias `sha1sum` if needed

Ref. #141.

.aliases: Add `dl`

Ref. #142.

.aliases: Make `update` update Ruby gems as well

.osx: Allow installing user scripts via GitHub or gists

.osx: Allow installing user scripts via Userscripts.org

.aliases: Make `update` run `brew cleanup`

Thanks to @patrickkettner for the suggestion on Twitter:
http://twitter.com/patrickkettner/statuses/254387082791903232

.osx: Add Mac App Store section

- Move existing command to new section
- Add debug menu command

Ref. #150.

README: Recommend sourcing the bootstrapper

Thanks to @svnpenn and @nvartolomei in https://github.com/mathiasbynens/dotfiles/commit/a77f4872f26d681a35cface9d6bcb4ad55fec752#commitcomment-2100022, and thanks to @janmoesen for the BASH_SOURCE pointer.

.osx: Add command to remove all Dock icons

.bash_prompt: Use `tput setaf 0` for white

Using `tput setaf 0` instead of `tput setaf 256` makes sure that `WHITE` is white instead of the previous color.

Thanks to @rudolph9 for reporting this in #153.

bin: Update to Bash 4.2.39

.gitconfig: Set `push.default = simple`

This will be the default in Git v2.

.bash_prompt: Fix `parse_git_dirty` for Git v1.8.0+

Git 1.8.0+ says “nothing to commit (working directory clean)”.
Older Git versions return “nothing to commit (working directory clean)”.

Thanks to @nicolahery in #143 for the suggestion.

.aliases: Add `map`

Ref. #157.

.aliases: Add `map`

Ref. #157.

.functions: Make `gz` more awesome

.aliases: Lowercase `com.apple.finder`

Hat tip: @alrra.

.osx: Show item info to the right of the icons on the desktop

.functions: Add `calc`

.bash_profile: Move the `LANG` & `LC_ALL` exports into `.exports`

.osx: Remove the iTunes Ping settings

Apple officially closed the iTunes Ping service on September 30th, 2012 (http://i.imgur.com/U7bHo.jpg).

.osx: Document the various values for Hot Corners settings

.osx: Clarify that the iTunes settings are for pre-iTunes 11 only

README: Update Lauri Ranta’s hidden preferences URL

The previous URL now 404s.

bin: Update to Bash 4.2.42

.osx: Fix typo

Ref. #183.

.functions: Add `getcertnames`

This function shows all the names (CNs and SANs) listed in the SSL certificate for a given domain.

As always, improvements and other feedback is welcome!

.functions: Add `getcertnames`

This function shows all the names (CNs and SANs) listed in the SSL certificate for a given domain.

As always, improvements and other feedback is welcome!

.functions: Improve `getcertnames`

Follow-up to 12bb9dac8ee7f4bcdf3e74fcbc0455a04be0211f.

Many thanks to @dserodio!

.osx: Tweak language settings comment

Fixes #189.

.osx: Show the path bar in Finder

.osx: Add Notification Center value for hot corners

Ref. #187.

.bash_profile: Support hostname aliases defined in `~/.ssh/config`

`~/.ssh/config` allows for the usage of hostname aliases, formatted as follows:

    Host first_alias second_alias third_alias
    HostName foo.example.com

This change makes sure these aliases are parsed out individually and added to the autocomplete list.

Ref. #178.

.osx: Disable Notification Center

This also removes the annoying menu bar icon.

Ref. #168.

Use newlines at EOF consistently

.osx: Enable the MacBook Air SuperDrive on any Mac

Ref. #146.

.osx: Disable Dashboard

Ref. #136.

.osx: Configure spring loading for directories

Ref. #133.

.osx: Set highlight color to orange

.osx: Set sidebar icon size to medium

.osx: Fix typo

.brew: Install Lua 5.2

I need this specific version to test the new `GotoStatement`s in Lua during http://mths.be/luamin development.

.gitconfig: Remove the destructive `undopush` alias

.osx: Set standby delay to 24 hours

Hat tip: http://www.ewal.net/2012/09/09/slow-wake-for-macbook-pro-retina/

.osx: Set standby delay to 24 hours

Hat tip: http://www.ewal.net/2012/09/09/slow-wake-for-macbook-pro-retina/

.bash_profile: Autocomplete Grunt commands

Ref. https://github.com/gruntjs/grunt-cli#shell-tab-auto-completion

.functions: Print trailing newlines when not piping the output

Add .curlrc

Closes #152.

.aliases: Add `week`

Thanks to @sindresorhus: https://twitter.com/sindresorhus/status/312206490880589824

.functions: Add `cdf`

`cdf` changes the working directory to the top-most Finder window location. Thanks to @sindresorhus and @paulirish!

.exports: Always enable colored `grep` output

bootstrap.sh: Pull from the master branch explicitly

.osx: Add possible values for AppleShowScrollBars

Ref. #170.

.osx: Add possible values for AppleShowScrollBars

Ref. #170.

Update shebangs

If the user installs a custom Bash build, why not use it?

Ref. #196 and #198.

README: Add author field

.functions: Add `targz`

`targz some-directory` creates `some-directory.tar.gz`, where compression is handled by either `zopfli` (if available) or `gzip`.

.functions: Avoid `rm` error message in `targz` when `gzip` is used

.functions: Improve `targz`

* Only use `zopfli` when it’s available and if the `.tar` file is smaller than 50 MB.
* Use `pigz` instead of `gzip` when it’s available.
* Always exclude `.DS_Store` files when creating a tarball.

Closes #199.

bootstrap.sh: Don’t make the home directory world-readable

Fixes #159.

.brew: Install native apps through homebrew-cask

Closes #200.

.brew: Add some more applications

.osx: Update filename for Dropbox’s green checkmark icon

README: Update contributors list

Add @sindresorhus and @alrra because of their many contributions. Sort the list alphabetically.

README: Update contributors list

Add @sindresorhus and @alrra because of their many contributions. Sort the list alphabetically.

README: Fix minor typo

.functions: Tweak `targz`

Trim the trailing slash from the path argument passed to `targz`.

This fixes the annoying behavior where `targz foo/` created `foo/.tar.gz` instead of `foo.tar.gz`.

Ref. #202.

.gitconfig: Use `push.default = matching`

I couldn’t get used to `simple`.

.functions: Add `gi`

This is an easy way to install Grunt plugins and add them as `devDependencies` to `package.json`.
Example:

    gi contrib-watch contrib-uglify zopfli

Closes #191.

.functions: Improve `note`

Give the Notes.app function the ability to add both `title` and `body`.

Closes #203.

.functions: Improve `httpcompression` and move it to its own file

Closes #162.

Dual license these dotfiles under MIT/GPL

As requested by @lathan. Closes #205.

.osx: Fix `ShowPathBar` typo

Closes #204.

.bash_profile: Try to grunt more quietly

Ref. #209.

.functions: Add `gitio`

Closes #210.

.osx: Don’t automatically rearrange Spaces

Closes #213.

.gitconfig: Tweak `l` alias

Update to Bash v4.2.45

.osx: Update the GitHub fork link

Closes #221.

.osx: Update the GitHub fork link

Closes #221.

Remove GPL license

The MIT license is GPL-compatible anyway, as per @sindresorhus. Ref. https://github.com/mathiasbynens/dotfiles/commit/a89e2f2d226de274c998b0b8de5fd4af2e0b444f#commitcomment-3485954.

bootstrap.sh: Avoid `source` if there are no changes

Closes #220.

.aliases: Make Grunt print stack traces by default

README: Tweak Git-free install command

README: Tweak Git-free install command

bin: Update `subl` symlink to `Sublime Text 3.app`

.osx: Add Spotlight settings

Closes #91 and #174.

.bash_profile: Remove ‘autocomplete Grunt commands’

Closes #224.

.brew: Install PHP 5.5

.gitattributes: Disable normalizing line endings globally

Instead of removing `~/.gitattributes` completely, I decided to just comment out the `* text=auto` line. This makes it easier to temporarily re-enable the setting should I ever want to.

Closes #149.

.curlrc: Disguise as IE 9 on Windows 7

This matches the `.wgetrc` settings.

.aliases: Add `timer`

`timer` can be used as a stopwatch.

Hat tip: https://twitter.com/tow8ie/status/360077953238962176

.gitconfig: Improve display of astral Unicode symbols in diffs

Thanks to @holman for the tip: https://speakerdeck.com/holman/more-git-and-github-secrets?slide=38

.osx: Add GPGMail 2 settings

http://support.gpgtools.org/kb/faq-gpgmail/gpgmail-2-hidden-settings

.osx: Disable the sound effects on boot

.aliases: Add `-F` to `ls` aliases

Don’t do this for the default `ls`, though.

Closes #234.

bin: Point `subl` to the default ST3 location

Sublime Text 3 does not use the `/Application/Sublime Text 3.app` folder by default. It uses `/Application/Sublime Text.app`.

Closes #232.

.gitconfig: Remove global remote branch

This causes duplicate remotes to be created, potentially leading Git to throw errors when `push`ing.

Closes #215.

.gitconfig: Remove global remote branch

This causes duplicate remotes to be created, potentially leading Git to throw errors when `push`ing.

Closes #215.

.aliases: Add `chromekill` to kill all Chrome tabs to free up memory

Useful when you have a lot of tabs open (which I always do), but you don’t want to close them.

Tabs in Chrome are just processes, so we just filter out the ones we want, and kill them.

Closes #236.

.osx: `~/.CFUserTextEncoding` can break several Adobe apps

Ref. #237.

.gitconfig: Add comment about `color.ui` in Git ≥ 1.8.4

Ref. #239.

.gitconfig: Add note about whitespace defaults

Closes #256.

.functions: Add `m` to open stuff in TextMate

Closes #253.

.functions: Add `s` to open stuff in Sublime Text

Closes #252.

.functions: Add `v` to open stuff in Vim

Closes #251.

.bash_profile: Make sure only files get sourced

Closes #250.

.functions: Add `o` to `open` stuff

Closes #245.

Add `np` function to ease publishing node modules

I use this to ease the publishing of npm modules. `np`, done ;)

np = npm publish (and, `no problem`, (and `nutella party`))

Closes #261.

.osx: Remove “Enable access for assistive devices”

This feature doesn’t work anymore in OS X 10.9 Mavericks. The setting has moved to System Preferences → Security & Privacy → Accessibility, where you now have to check every app you want to allow access rather than enabling it globally.

Closes #262.

.osx: Remove “Enable access for assistive devices”

This feature doesn’t work anymore in OS X 10.9 Mavericks. The setting has moved to System Preferences → Security & Privacy → Accessibility, where you now have to check every app you want to allow access rather than enabling it globally.

Closes #262.

.osx: Use plain text smileys in Messages

Messages in OS X 10.9 Mavericks automatically substitutes e.g. `:)` with `😊`, with no way to disable this feature through the app’s preferences pane.

After analyzing the `defaults read` output it turns out there is a hidden preference for it.

.osx: Consistently specify the type for `dict-add` actions

.functions: Add `tre` shorthand

Closes #249.

.osx: Disable smart quotes in Messages.app

.osx: Disable continuous spell checking in Messages.app

.brew: Move casks to their own file

.osx: Add threaded email display settings for Mail.app

.osx: Remove old iTunes commands

They only applied to iTunes 10 and older anyway.

.osx: Make coding style more consistent

.osx: Disable inline attachments in Mail

Thanks to Christophe Platteeuw via Twitter: https://twitter.com/cplatteeuw/status/393465401310318592

.osx: Disable automatic spell checking in Mail.app

.osx: Stop iTunes from responding to the keyboard media keys

Commented out, as I actually use these keys.

Closes #265.

.osx: Suppress error messages when running `~/.osx` twice

Closes #266.

.aliases: Improve `ips`

Ref. #268 and #269.

Make `.cask` executable

Make `.cask` executable

.osx: Minimize windows into their application’s icon

Closes #271.

init: Add iTerm colors

Closes #274.

init: Install Sublime Text settings

Closes #275.

.osx: Rename computer name

.aliases: Lowercase `projects` dir

.osx: Don’t prompt when quitting iTerm

README: Update link to Lauri Ranta’s resources

.osx: Add SSD-specific tweaks

Source: http://forums.macrumors.com/showthread.php?t=1505922

.osx: Remove broken three-finger swipe commands

If anyone knows how to make this work, please let me or @necolas know!

Ref. #171.

.osx: Don’t `kill` Dashboard

`killall Dashboard` doesn’t actually do anything. To apply the changes for Dashboard, `killall Dock` is enough as Dock is Dashboard’s parent process.

Closes #277.

.aliases: Add `afk` to lock the screen

Closes #258.

README: Document the `.cask` file

Closes #280.

.osx: Disable smart quotes and dashes

.aliases: Add `reload`

`reload` invokes the shell as a login shell, which essentially reloads it.

Closes #247.

.aliases: Update RubyGems before updating installed gems

Closes #282.

.aliases: Add `npme`

`npme` is like `npm` except it uses a registry located in Europe, causing it to be much faster for Europeans. See <http://npmjs.eu/> for more information.

Closes #284.

Use `Brewfile` now that Homebrew supports it

https://github.com/mxcl/homebrew/blob/master/Library/Contributions/cmd/brew-bundle.rb
https://coderwall.com/p/afmnbq

.gitconfig: Make `git rebase` safer on OS X

See <http://www.git-tower.com/blog/make-git-rebase-safe-on-osx/>.

Closes #291.

.aliases: Improve `lsd`

Ref. #292.

README: Use `Brewfile` instead of `.brew`

Closes #294.

.osx: Hide Safari’s sidebar in Top Sites by default

Closes #296.

.osx: Hide Safari’s sidebar in Top Sites by default

Closes #296.

.gitconfig: Add aliases to find branches/tags/commits

Closes #304.

bin: Make `httpcompression` prevent caching

In some cases, intermediate proxies ignore the `Content-Encoding` header
altogether.

Sending `Cache-Control no-cache` as a request header solves this problem
by forcing validation of the resources in the intermediate proxies,
thereby, ensuring that every request is fetched from the origin server.

Ref. alrra/dotfiles#2. Closes #308.

init: Fix typo in Sublime Text settings

.osx: Hide some menu bar icons in OS X 10.9 Mavericks

Kudos to @kevinSuttle for finding the appropriate `plist` file!
https://github.com/mathiasbynens/dotfiles/issues/305#issuecomment-30102827

Ref. #305.

.osx: Delete some old commands that no longer work

These commands only work on outdated versions of OS X.

Ref. #305.

.gitconfig: Add `dm` alias

`git dm` deletes local branches that have been merged with master.

Closes #309.

init: Tweak Sublime Text settings

.osx: Add Activity Monitor settings

.osx: Add Finder ‘Get Info’ settings

.osx: Display Bluetooth icon in menu bar

README: Credit @kevinSuttle

README: Credit @kevinSuttle

.osx: Set Desktop as the default location for new Finder windows

Closes #285.

.aliases: Add `jsc` alias

Useful for testing code in JavaScriptCore.

Hat tip: https://twitter.com/RussB/status/420409644117262336 (via @rauschma)

.functions: Make `np` remove `node_modules`

This lets you catch cases where you forgot to add a dependency to `package.json`.

Closes #321.

.osx: Support multiple `systemuiserver` pref files

Closes #319.

.osx: Support multiple `systemuiserver` pref files

Closes #319.

Brewfile: Install `p7zip` (i.e. `7z` etc.)

.osx: Kill `cfprefsd` after changing preferences

As of OS X 10.9 this is necessary to make sure the changes persist.

Closes #330.

.osx: Kill `cfprefsd` after changing preferences

As of OS X 10.9 this is necessary to make sure the changes persist.

Closes #330.

Brewfile: Install ImageMagick with WebP support

.vimrc: Explicitly use the Molokai theme

Brewfile: install `moreutils`, if only for `sponge`

Hat tip: @chastell / http://talks.chastell.net/kodio-2014/#/21

Brewfile: install `pv` (pipe viewer)

Hat tip: @chastell / http://talks.chastell.net/kodio-2014/#/39

.osx: Make Dock more transparent

Closes #346.

Brewfile: explicitly list non-default taps

.functions: Add `a` alias for `atom`

Closes #349.

.osx: Remove old keyboard illumination settings

These commands don’t have any effect anymore in OS X 10.9.

Closes #327.

.gitconfig: Explicitly disable `indent-with-non-tab`

Don’t use `indent-with-non-tab`. This config flag is PERNICIOUS. If turned on, Git won’t tell you that you indented your code incorrectly. Instead, when it is pushing your changes to your remote repo, Git will silently convert any consecutive 8-space strings it sees into tab characters. This can be highly undesirable, especially if you collaborate with a team that expects the code to be indented using spaces instead of tabs.

At the very least, the comment above this line should very clearly explain the fact that `indent-with-non-tab` does more than advertised in the `git-config man page (https://www.kernel.org/pub/software/scm/git/docs/git-config.html).

Closes #351.

.osx: Add missing value

In order to properly overwrite the `key` of a `domain`, `defaults` needs to be provided with a valid `value` for the `key`:

    `defaults write <domain> <key> <value>`

Closes #350.

.cask: Add Opera, Opera Developer and Opera Next

Closes #348.

.osx: Allow installing Chrome user scripts via GitHub Gist or Userscripts.org

.osx: Change minimize/maximize window effect

By default, OS X Mavericks uses the annoying `genie` effect whenever windows are minimized/maximized. This commit changes that preference and makes OS X use the more tolerable `scale` effect.

Closes #355. Ref. #270.

.osx: Remove “disable opening and closing window animations”

Sadly, this doesn’t work anymore in OS X 10.9.

Closes #270.

.osx: Comment computer name settings

It’s good to have these commands here as a reference, but it’s annoying when running `.osx` on multiple computers in the same network.

.exports: Explicitly use UTF-8 even for `LANG`

.osx: Add ExpandedStateFor* variants for OS X 10.9

Closes #361.

.aliases: Use `en0` for `localip`

.osx: Update iOS Simulator symlink

Install casks via Caskfile

`brew bundle` can now be used for casks as well.

Closes #365.

Install casks via Caskfile

`brew bundle` can now be used for casks as well.

Closes #365.

Brewfile: Install GNU `sed`

Brewfile: Install some more useful tools

.functions: Make `gi` accept any number of arguments

Closes #367.

Brewfile: Install `xpdf`, if only for `pdfinfo`

.osx: Don’t reset the desktop wallpaper when resetting Launchpad

Files like `530142A0-6AEC-4921-A3A7-7C2B72FFF6E3.db` and `desktoppicture.db` exist in `~/Library/Application\ Support/Dock`, so let’s add a `-` with a wildcard `*` to both sides to ensure we don’t delete `desktoppicture.db` and reset the desktop wallpaper.

Closes #370.

Brewfile: Install `ucspi-tcp`, if only for `tcpserver`

Brewfile: Install PHP 5.5 with GMP support

.osx: Don’t show hidden files by default

Most of the time I don’t need it, and when I do, I can temporarily enable it using the `show` alias, and revert it using the `hide` alias.

Brewfile: Fix PHP 5.5 installation

Thanks to @interputed for the heads up: https://github.com/mathiasbynens/dotfiles/commit/a76db30d6529e41138009fe3dc67f21ba782496e#commitcomment-6200104

Caskfile: Move `phinze/cask` to `caskroom/cask`

Homebrew Cask has been moved to https://github.com/caskroom/homebrew-cask.

Closes #375.

Caskfile: Move `phinze/cask` to `caskroom/cask`

Homebrew Cask has been moved to https://github.com/caskroom/homebrew-cask.

Closes #375.

.gitconfig: Make sure `go` never overrides branches

Closes #357. Thanks to @yukideluxe!

Brewfile: Install `hashpump`

.bash_prompt: Speed up the Git commands for the prompt

Fixes #227 and closes #380.

.bash_profile: Enable tab completion for `git` and `g`

Closes #197.

.bash_profile: Enable tab completion for `git` and `g`

Closes #197.

Brewfile: add instructions on how to change the default shell to Bash 4

Brewfile: Install Node with npm

Ref. https://github.com/Homebrew/homebrew/pull/28075. Closes #362.

bootstrap.sh: Make `rsync` output numbers in a human-readable format

Closes #383.

Brewfile: Install BFG Repo-Cleaner

.curlrc: Set connection timeout to 60 seconds

This matches the setting in `.wgetrc`.

Remove some things that I don’t use

This commit drops some aliases, functions, and settings from the project that I wasn’t using at all. It also cleans up some of the remaining code.

Remove some things that I don’t use

This commit drops some aliases, functions, and settings from the project that I wasn’t using at all. It also cleans up some of the remaining code.

Caskfile: Update Tor formula name

Closes #388.

.gitconfig: Improve configuration

Closes #366.

.osx: Add (commented-out) instructions on how to set the wallpaper

Closes #356.

.osx: Only install custom Terminal profile once

Closes #336 and #337.

.screenrc: Add some more settings

Closes #334.

.osx: Disable the Launchpad gesture

Closes #316.

Brewfile: Install a more recent version of `screen`

Closes #295.

.bash_profile: Enable Bash completion if `/etc/bash_completion` exists too

This is useful on Linux.

Ref. #278.

.bash_profile: Enable Bash completion if `/etc/bash_completion` exists too

This is useful on Linux.

Ref. #278.

Update Bash prompt to match the Solarized theme

Screenshot: http://i.imgur.com/EkEtphC.png

Enable Solarized Dark theme in Vim

.gitconfig: Remove `push.default`

This was causing issues on servers that don’t have an up-to-date Git installation. As a workaround, I decided to remove this from `.gitconfig` and add this to `~/.extra` for my laptop only:

    git config --global push.default simple

.gitconfig: Tweak `diff` colors

init: Use the Solarized Dark theme in Sublime Text

.gitconfig: Add default Git `push.default` config

Use the backwards-compatible `matching` setting by default. On machines with newer Git installations, it avoids the annoying Git warning, and it can be overriden to use `simple` instead in `~/.extra`.

Closes #400.

Add `.editorconfig`

See <http://editorconfig.org/>.

.bash_prompt: Avoid double-escaping ANSI codes

Fixes #399 and closes #402.

.bash_prompt: Avoid double-escaping ANSI codes

Fixes #399 and closes #402.

.bash_prompt: Add back escape sequences

Fixes #403.

.bash_prompt: Interpret escape sequences correctly in all cases

Closes #407.

.vimrc: Avoid creating backups when editing files in `/tmp`

See http://vim.wikia.com/wiki/Editing_crontab.

.aliases: Remove the now-broken `whois` alias

Closes #397.

.osx: Use `sudo` for `systemsetup`

Closes #415.

.osx: Disable the all-too-sensitive backswipe on Chrome

Closes #416.

Update URLs

.vimrc: Treat `.md` files as Markdown

`filetype` is set implicitly, without using setfiletype, because `*.md` is already associated with Modula-2 files and `setfiletype` doesn’t allow `filetype` to be set twice.

`setlocal` is used to apply a new `filetype` value for each Markdown file as it is being added to the buffer.

Fixes #418. Closes #419.

.functions: Add SNI support in `getcertnames`

Update URLs

.functions: Improve `getcertnames`

.gitconfig: Add alias to merge GitHub pull request

Ref. https://help.github.com/articles/checking-out-pull-requests-locally

Closes #422.

Brewfile: add some CTF tools

See https://github.com/ctfs/write-ups for more info.

Brewfile: add binutils and cifer

.osx: Disable transparency in the menu bar and elsewhere on Yosemite

.osx: Remove a few commands that no longer have any effect in Yosemite

Closes #436.

.osx: Use the system-native print preview dialog in Chrome

Closes #434.

.aliases: Update `npm` the right way

`npm install npm -g` is the new recommended way to update npm as specified in the npm-faq at https://github.com/npm/npm/blob/master/doc/misc/npm-faq.md.

Closes #423.

.osx: Don’t send Safari search queries to Apple

.osx: Make Yosemite Safari more useful

Use `brew.sh` instead of `Brewfile`

Also, remove `Caskfile` since I didn’t use it.

Closes #428.

Use `brew.sh` instead of `Brewfile`

Also, remove `Caskfile` since I didn’t use it.

Closes #428.

.bash_profile: Support multiple hosts in SSH completion

Useful in cases such as:

```

Host vm1 vm2 vm3 vm4
     Host localhost
     # ...
```

Simply adding a `-` to `tr` fixes this.

Closes #437.

.vimrc: Enable `g:solarized_termtrans`

It improves the display in OS X Terminal.app.

http://ethanschoonover.com/solarized/vim-colors-solarized

Ref. #425.

brew.sh: Use `--with-iri` for `wget`

The older `--enable-iri` flag is deprecated.

Closes #445.

.exports: Remove `export HOMEBREW_CASK_OPTS`

It’s not needed anymore now that the `Caskfile` has been removed.

Closes #446.

.aliases: Remove npmjs.eu reference

See the deprecation notice: http://npmjs.eu/

Closes #448.

.functions: Make `mkd` `cd` into the last directory in the list

…rather than the first.

Closes #447 and #450.

brew.sh: Install Lua the new way

Closes #453.

.osx: Update `iOS Simulator.app` path

The iOS Simulator app has been moved.

Closes #452.

brew.sh: Update `gnu-sed` option

Closes #454.

.osx: Disable Spotlight suggestions from Safari

Safari has a “Spotlight Suggestions” setting that, if left enabled, will send a copy of all search queries to Apple.

Closes #455.

.osx: Add Yosemite’s search results for Spotlight

Yosemite introduces new Spotlight search results, and if you don’t add it to `defaults write com.apple.spotlight orderedItems` it will be removed from the System Preferences → Spotlight → Search Results` list with no way to re-enable them through the System Preferences panel.

Closes #456.

Add .gdbinit

.osx: Fix comment for menu bar items

Closes #459.

.osx: Use `-array` instead of `-array ""`

Ref. #350.

.osx: Remove “increase window resize speed”

Sadly, this doesn’t work anymore in OS X 10.10.

README: Tweak `~/.path` example

README: Tweak `~/.path` example

brew.sh: Install speedtest_cli

Hat tip: @bramus – https://www.bram.us/2014/12/17/speedtest-cli/

.osx: Kill apps with `-HUP` to make sure they restart

Note that a full system restart is needed after running `.osx` anyhow, but this small change improves the situation for those who don’t do that.

Closes #469.

.osx: Revert to plain `killall` without `-HUP`

This reverts commit 07cd2632f56be58a5c1ba41a830e537e34f24e5f.

Ref. #469.

.gitconfig: Prevent showing files whose names contain non-ASCII symbols as unversioned

http://michael-kuehnel.de/git/2014/11/21/git-mac-osx-and-german-umlaute.html

Closes #460.

brew.sh: Fix copy-paste typo

Closes #472.

.osx: Add back the “increase window resize speed” hack

It didn’t work in OS X 10.10 anymore, but it seems OS X 10.10.1 does support it.

Ref. 4471e2732faede1d9b242cb547de8005578b3d10.

.curlrc: Remove `max-time`

Don’t globally timeout cURL operations without knowing the size of the files being downloaded. Hat tip: @necolas.

.exports: Set `HISTCONTROL`

Omit duplicates and commands that begin with a space from history.

.curlrc: Add back `connect-timeout`

This was removed by mistake in 216a63328e9df1479c0f4790444afaccd16c80e5. Thanks to @alrra for spotting it!

brew.sh: Install `openssh`

This includes a more up-to-date `ssh` binary.

brew.sh: Install font tools

Thanks to @bramstein for creating these formulae!
https://twitter.com/bram_stein/status/556357864038883328

bin: Point Bash symlink to `/usr/local/opt/bash/bin/bash`

This is a link to whatever happens to be both in-the-cellar and linked.

Ref. https://github.com/mathiasbynens/dotfiles/issues/479#issuecomment-71276285. Fixes #479.

.gitconfig: Add `retag`

bin: Update and improve `httpcompression`

Simplify and improve the `httpcompression` script while also modifying it so that it accepts multiple URLs and checks if `cURL` is installed.

Closes #491.

.osx: Fix code that sets the custom terminal theme

Fix the `.osx` script so that it correctly sets the custom terminal theme, and the change will be persistent.

Closes #492.

Install io.js & add aliases to switch to io/node

* Install `io.js`.
  https://iojs.org/en/index.html

* Add aliases to easily switch between `io.js` and `Node.js`.
  https://gist.github.com/phelma/ce4eeeedb8fb9a9e8e63

Install io.js & add aliases to switch to io/node

* Install `io.js`.
  https://iojs.org/en/index.html

* Add aliases to easily switch between `io.js` and `Node.js`.
  https://gist.github.com/phelma/ce4eeeedb8fb9a9e8e63

README: Fix @alrra’s name

Closes #495.

.osx: Add Spectacle.app settings

Fixes #507.

.osx: Disable swipe navigation in Chrome for mouse users

Closes #508.

brew.sh: Add `ssh-copy-id`

`ssh-copy-id` allows one to easily set up passwordless SSH connections on a new machine. It does this by copying over your pubic key and setting the correct permissions.

It becomes as simple as `ssh-copy-id user@hostname.example.com`. Probably safer than using manual or scripted methods.

Ref. http://askubuntu.com/a/4833/42234.

Closes #510.

.aliases: Remove `use-iojs` and `use-node` in favor of nvm

https://github.com/creationix/nvm

brew.sh: Add aircrack-ng

.gvimrc: Don’t blink cursor in normal mode

Closes #43 and #473.

.osx: Expand print dialog in Chrome & Opera by default

https://github.com/mathiasbynens/dotfiles/pull/434#issuecomment-59643432

.osx: Expand print dialog in Chrome & Opera by default

https://github.com/mathiasbynens/dotfiles/pull/434#issuecomment-59643432

brew.sh: Install git-lfs

https://git-lfs.github.com/

brew.sh: Use bash-completion2 for improved Bash 4 completion

Hat tip: @elyscape in https://github.com/mathiasbynens/dotfiles/commit/91be10dcee350465566a48cbe303686d2d989d6d#commitcomment-10654929.

.osx: Update Spectacle.app keyboard shortcuts

brew.sh: Install netpbm

Add `--all` to `brew upgrade`

Homebrew recently started to hint that everyone should update their workflows for `brew upgrade`:

> brew upgrade with no arguments will change behaviour soon! It currently upgrades all formula but this will soon change to require `--all`. Please update any workflows, documentation and scripts!

https://github.com/Homebrew/homebrew/commit/9032f165bec3d0c7452169093fab32578816043b

Closes #531.

.exports: Enable persistent REPL history for `node`

This works as of io.js v2.0.0.

https://github.com/iojs/io.js/blob/v2.0.0/CHANGELOG.md#2015-05-04-version-200-rvagg

.gitconfig: Add `push.followTags`

Thanks to @sindresorhus: https://twitter.com/sindresorhus/status/596347008975241216

.osx: Fix `/private` path

Closes #529.

brew.sh: Add `dark-mode`

For toggling Dark Mode from the command-line.

https://github.com/sindresorhus/dark-mode

Closes #545.

.gitconfig: Use `hexdump` to diff binary files

README: Add warning

Closes #530, #575, and #576.

.aliases: Make `emptytrash` clear download history too

See https://mths.be/bum for more details. Thanks to @nvartolomei for the suggestion in #177.

.aliases: Make `emptytrash` clear download history too

See https://mths.be/bum for more details. Thanks to @nvartolomei for the suggestion in #177.

.exports: Add missing `export` commands

Closes #585.

.osx: Remove “enable text selection in Quick Look”

As of OS X 10.11, it no longer has any effect.

Closes #580.

.exports: Update Node environment variables

Thanks to @alrra for the heads up in https://github.com/mathiasbynens/dotfiles/commit/9d30bd673c72ed1cadb2720fe4fb44a8ce915a2b#commitcomment-13835031.

.osx: Simplify `killall` redirection

`&>` is the same as `2>&1`.

Closes #589.

.osx: Fix typo

Fixes #592.

.aliases: Enable colored `grep` output

Note that `GREP_OPTIONS=--color=auto` is deprecated in GNU `grep`.

Closes #467 and #590.

.aliases: Enable colored `grep` output

Note that `GREP_OPTIONS=--color=auto` is deprecated in GNU `grep`.

Closes #467 and #590.

.osx: Stop iTunes from automatically syncing connected devices

Closes #593.

.osx: Don’t enable “secure empty trash”

This feature has been removed, sadly, so enabling has no effect anymore.

https://support.apple.com/en-us/HT205267#CVE-2015-5901

Closes #596.

.exports: Add `PYTHONIOENCODING`

https://docs.python.org/2/using/cmdline.html#envvar-PYTHONIOENCODING

.osx: Remove non-functional iTunes setting

Ref. https://github.com/mathiasbynens/dotfiles/commit/cd88be0faec8b794e2ed6d145896f464125429b4#commitcomment-14145185. Thanks to @chdiza!

.osx: Bypass t.co URLs in Tweetbot

Hat tip: https://twitter.com/dermdaly/status/664065150329163777

.bash_prompt: Improve escape sequences

Closes #598. See https://github.com/mathiasbynens/dotfiles/pull/598#issuecomment-157090316.

.osx: Show only open applications in the Dock

Closes #604.

.gitconfig: Improve `mpr` command

Change the `mpr` command so that it merges the specified pull request into the current branch¹, or if a branch name is specified², into the specified branch.

¹ git mpr <number>
² git mpr <number> <branch_name>

Closes #607.

.osx: Disable the over-the-top focus ring animation

See http://arstechnica.com/apple/2014/10/os-x-10-10/5/ for an example.

Closes #511.

bin: Add Brotli and LZMA to `httpcompression`

Closes #613.

.osx: Prevent Photos from opening automatically

Closes #608.

.osx: Update Simulator paths for El Capitan

Closes #616.

brew.sh: Upgrade to PHP 5.6 (from 5.5)

PHP 5.5 caused a segmentation fault when trying to run `arc`, the `anarcist` command.

Ref. https://stackoverflow.com/a/33512066/96656.

Closes #617.

brew.sh: Add `testssl`

https://github.com/drwetter/testssl.sh

.functions: Improve `fs`

Accept file names with a dash without interpreting them as a command-line flag. Found by running `shellcheck`.

Closes #565.

.osx: Show the `/Volumes` folder

Closes #621.

.bash_prompt: Improve title

This will set the title of the current terminal tab to the name of the folder you are in rather than the whole path.

Closes #623.

.bash_prompt: Improve title

This will set the title of the current terminal tab to the name of the folder you are in rather than the whole path.

Closes #623.

.bash_prompt: Improve terminal title

Closes #625.

bin: Remove `httpcompression`

@alrra maintains it now. Hopefully it can be moved to its own repository and installed through npm/brew soon.

See https://github.com/alrra/dotfiles/issues/18.

.osx: Remove duplicate `disablelocal` setting

This setting is already set under the “Time Machine” section.

Closes #631.

.gitconfig: Sign commits using GPG

brew.sh: Install vbindiff

Probably the best binary diff tool out there.

brew.sh: Remove useless use of `sudo`

Thanks to @jonnybarnes for spotting this.

Closes #647.

.bash_profile: Redirect all `which brew` output

On RHEL6, `which brew` prints `/usr/bin/which: no brew in …` to stderr. Changing `> /dev/null` to `&>/dev/null` redirects both stdout and stderr to `/dev/null`, silencing the check completely.

Closes #650.

.functions: Update `gitio` to use HTTPS

Looks like git.io recently enabled HTTPS. Because they’re now redirecting from HTTP to HTTPS the old script stopped working.

Thanks to @sixertoy for spotting this: https://github.com/mathiasbynens/dotfiles/commit/4f48f250197668f2d961a71ef733b37675f810fa#commitcomment-17317282

Enable GitHub highlighting for Bash files

Closes #662.

Enable GitHub highlighting for Bash files

Closes #662.

.brew.sh: Automate switch to brew-installed Bash

Closes #658.

.osx: Fix ⌘ + Enter shortcut in Mail.app

Removing `-string` and just passing the unescaped string value of the shortcut as a second param seems to solve the problem.

Closes #603 and #661.

.functions: Add file size output to `targz`

Closes #670.

Rename .osx to .macos

Apple renamed OS X to macOS, so this repository must follow.

.macos: Add some more Transmission options

* Do not prompt for download confirmation on magnet links.
* Activate the IP block list.

Closes #679.

.macos: Enable Secure Keyboard Entry in Terminal.app

Closes #685.

.macos: Make Safari config more robust/secure

Closes #684.

.macos: Auto-play videos when opened with QuickTime Player

Closes #683.

.macos: Extend Mac App Store configuration

Closes #681.

.macos: Remove `AllowBypassOfAutocompleteOff`

This setting is ignored by Safari 7.0.3+.

See https://discussions.apple.com/thread/6036813?start=0&tstart=0.

Thanks to @chdiza for pointing this out! https://github.com/mathiasbynens/dotfiles/commit/4a4cdeab41f56cf795bf34b486fc033a54db148c#commitcomment-18177720

.macos: Fix the keyboard repeat rate command

Closes #687.

.aliases: Use `LSCOLORS` for BSD and `LS_COLORS` for GNU

Closes #697.

.aliases: Add `gem cleanup` to `update` alias

This ensure that old gems are removed after `gem update`.

Closes #705.

.macos: Close System Preferences first

Closes #706.

.macos: Enable the Transmission blocklist

Closes #708.

.macos: Enable the Transmission blocklist

Closes #708.

.functions: Remove `calc`

Instead, @alrra’s upstream version should be used.

https://github.com/alrra/dotfiles/blob/2133bfed5d8bd2544cb3554e49657979acbb0c2f/src/shell/bash_functions#L5-L31

Hopefully it can be released as a standalone script, installable through brew or npm.

Closes #703.

.macos: Set keyboard repeat rate on macOS Sierra

Unfortunately it seems the float trick (6b4d9617a059e3ece468e3a9150ea920cadb1fe2) no longer works in macOS Sierra. As @kirbysayshi pointed out, setting `KeyRepeat` to a float or zero value actually *disables* key repeat now (i.e. holding a key does nothing). It seems like setting it to `1` is the best we can do for now. Note that this is way slower than before.

Ref. #687.

.macos: Set keyboard repeat rate on macOS Sierra

Unfortunately it seems the float trick (6b4d9617a059e3ece468e3a9150ea920cadb1fe2) no longer works in macOS Sierra. As @kirbysayshi pointed out, setting `KeyRepeat` to a float or zero value actually *disables* key repeat now (i.e. holding a key does nothing). It seems like setting it to `1` is the best we can do for now. Note that this is way slower than before.

Ref. #687.

.aliases: Update `pumpitup`

According to the AppleScript reference, `set volume $NUMBER` is deprecated.

https://developer.apple.com/library/content/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-SW44

Closes #699.

README: Update link to @tejr’s dotfiles

.brew.sh: Remove pointless symlink

The following is unnecessary:

    ln -s /usr/local/bin/gsha256sum /usr/local/bin/sha256sum

…because the non-prefixed version is already in `$(brew --prefix coreutils)/libexec/gnubin`.

https://github.com/Homebrew/brew/issues/1171#issuecomment-250906442

Closes #709.

.macos: Keep folders on top when sorting files by name in Finder

brew.sh: Remove no-op flag in `brew upgrade`

The following warning message shows up when upgrading the Homebrew packages:

> Warning: We decided to not change the behaviour of `brew upgrade` so
`brew upgrade --all` is equivalent to `brew upgrade` without any other
arguments (so the `--all` is a no-op and can be removed).

Closes #710.

.aliases: Add `path`

Closes #718.

.macos: Disable line marks in Terminal.app

See https://github.com/alrra/dotfiles/issues/36. Thanks to @alrra for the suggestion!

.aliases: Add `ifactive`

This lists only the active network interfaces. Handy for quickly chopping down the wall-of-text that is `ifconfig`.

Credit to g.rocket over at https://unix.stackexchange.com/a/108048/6040.

Closes #722.

.macos: Avoid creating `.DS_Store` on USB volumes

Thanks to @Menubalk for the suggestion!

Ref. https://github.com/mathiasbynens/dotfiles/pull/720.

.macos: Remove unsupported user script settings

This is sadly not possible anymore.

Closes #729.
  • Loading branch information
mathiasbynens authored and gianlucatruda committed Feb 23, 2024
0 parents commit 6752584
Show file tree
Hide file tree
Showing 34 changed files with 3,676 additions and 0 deletions.
157 changes: 157 additions & 0 deletions .aliases
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
#!/usr/bin/env bash

# Easier navigation: .., ..., ...., ....., ~ and -
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
alias ~="cd ~" # `cd` is probably faster to type though
alias -- -="cd -"

# Shortcuts
alias d="cd ~/Documents/Dropbox"
alias dl="cd ~/Downloads"
alias dt="cd ~/Desktop"
alias p="cd ~/projects"
alias g="git"
alias h="history"
alias j="jobs"

# Detect which `ls` flavor is in use
if ls --color > /dev/null 2>&1; then # GNU `ls`
colorflag="--color"
export LS_COLORS='no=00:fi=00:di=01;31:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35:*.wav=01;35:'
else # macOS `ls`
colorflag="-G"
export LSCOLORS='BxBxhxDxfxhxhxhxhxcxcx'
fi

# List all files colorized in long format
alias l="ls -lF ${colorflag}"

# List all files colorized in long format, including dot files
alias la="ls -laF ${colorflag}"

# List only directories
alias lsd="ls -lF ${colorflag} | grep --color=never '^d'"

# Always use color output for `ls`
alias ls="command ls ${colorflag}"

# Always enable colored `grep` output
# Note: `GREP_OPTIONS="--color=auto"` is deprecated, hence the alias usage.
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'

# Enable aliases to be sudo’ed
alias sudo='sudo '

# Get week number
alias week='date +%V'

# Stopwatch
alias timer='echo "Timer started. Stop with Ctrl-D." && date && time cat && date'

# Get macOS Software Updates, and update installed Ruby gems, Homebrew, npm, and their installed packages
alias update='sudo softwareupdate -i -a; brew update; brew upgrade; brew cleanup; npm install npm -g; npm update -g; sudo gem update --system; sudo gem update; sudo gem cleanup'

# IP addresses
alias ip="dig +short myip.opendns.com @resolver1.opendns.com"
alias localip="ipconfig getifaddr en0"
alias ips="ifconfig -a | grep -o 'inet6\? \(addr:\)\?\s\?\(\(\([0-9]\+\.\)\{3\}[0-9]\+\)\|[a-fA-F0-9:]\+\)' | awk '{ sub(/inet6? (addr:)? ?/, \"\"); print }'"

# Show active network interfaces
alias ifactive="ifconfig | pcregrep -M -o '^[^\t:]+:([^\n]|\n\t)*status: active'"

# Flush Directory Service cache
alias flush="dscacheutil -flushcache && killall -HUP mDNSResponder"

# Clean up LaunchServices to remove duplicates in the “Open With” menu
alias lscleanup="/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user && killall Finder"

# View HTTP traffic
alias sniff="sudo ngrep -d 'en1' -t '^(GET|POST) ' 'tcp and port 80'"
alias httpdump="sudo tcpdump -i en1 -n -s 0 -w - | grep -a -o -E \"Host\: .*|GET \/.*\""

# Canonical hex dump; some systems have this symlinked
command -v hd > /dev/null || alias hd="hexdump -C"

# macOS has no `md5sum`, so use `md5` as a fallback
command -v md5sum > /dev/null || alias md5sum="md5"

# macOS has no `sha1sum`, so use `shasum` as a fallback
command -v sha1sum > /dev/null || alias sha1sum="shasum"

# JavaScriptCore REPL
jscbin="/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc";
[ -e "${jscbin}" ] && alias jsc="${jscbin}";
unset jscbin;

# Trim new lines and copy to clipboard
alias c="tr -d '\n' | pbcopy"

# Recursively delete `.DS_Store` files
alias cleanup="find . -type f -name '*.DS_Store' -ls -delete"

# Empty the Trash on all mounted volumes and the main HDD.
# Also, clear Apple’s System Logs to improve shell startup speed.
# Finally, clear download history from quarantine. https://mths.be/bum
alias emptytrash="sudo rm -rfv /Volumes/*/.Trashes; sudo rm -rfv ~/.Trash; sudo rm -rfv /private/var/log/asl/*.asl; sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'delete from LSQuarantineEvent'"

# Show/hide hidden files in Finder
alias show="defaults write com.apple.finder AppleShowAllFiles -bool true && killall Finder"
alias hide="defaults write com.apple.finder AppleShowAllFiles -bool false && killall Finder"

# Hide/show all desktop icons (useful when presenting)
alias hidedesktop="defaults write com.apple.finder CreateDesktop -bool false && killall Finder"
alias showdesktop="defaults write com.apple.finder CreateDesktop -bool true && killall Finder"

# URL-encode strings
alias urlencode='python -c "import sys, urllib as ul; print ul.quote_plus(sys.argv[1]);"'

# Merge PDF files
# Usage: `mergepdf -o output.pdf input{1,2,3}.pdf`
alias mergepdf='/System/Library/Automator/Combine\ PDF\ Pages.action/Contents/Resources/join.py'

# Disable Spotlight
alias spotoff="sudo mdutil -a -i off"
# Enable Spotlight
alias spoton="sudo mdutil -a -i on"

# PlistBuddy alias, because sometimes `defaults` just doesn’t cut it
alias plistbuddy="/usr/libexec/PlistBuddy"

# Ring the terminal bell, and put a badge on Terminal.app’s Dock icon
# (useful when executing time-consuming commands)
alias badge="tput bel"

# Intuitive map function
# For example, to list all directories that contain a certain file:
# find . -name .gitattributes | map dirname
alias map="xargs -n1"

# One of @janmoesen’s ProTip™s
for method in GET HEAD POST PUT DELETE TRACE OPTIONS; do
alias "$method"="lwp-request -m '$method'"
done

# Make Grunt print stack traces by default
command -v grunt > /dev/null && alias grunt="grunt --stack"

# Stuff I never really use but cannot delete either because of http://xkcd.com/530/
alias stfu="osascript -e 'set volume output muted true'"
alias pumpitup="osascript -e 'set volume output volume 100'"

# Kill all the tabs in Chrome to free up memory
# [C] explained: http://www.commandlinefu.com/commands/view/402/exclude-grep-from-your-grepped-output-of-ps-alias-included-in-description
alias chromekill="ps ux | grep '[C]hrome Helper --type=renderer' | grep -v extension-process | tr -s ' ' | cut -d ' ' -f2 | xargs kill"

# Lock the screen (when going AFK)
alias afk="/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend"

# Reload the shell (i.e. invoke as a login shell)
alias reload="exec $SHELL -l"

# Print each PATH entry on a separate line
alias path='echo -e ${PATH//:/\\n}'
48 changes: 48 additions & 0 deletions .bash_profile
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Add `~/bin` to the `$PATH`
export PATH="$HOME/bin:$PATH";

# Load the shell dotfiles, and then some:
# * ~/.path can be used to extend `$PATH`.
# * ~/.extra can be used for other settings you don’t want to commit.
for file in ~/.{path,bash_prompt,exports,aliases,functions,extra}; do
[ -r "$file" ] && [ -f "$file" ] && source "$file";
done;
unset file;

# Case-insensitive globbing (used in pathname expansion)
shopt -s nocaseglob;

# Append to the Bash history file, rather than overwriting it
shopt -s histappend;

# Autocorrect typos in path names when using `cd`
shopt -s cdspell;

# Enable some Bash 4 features when possible:
# * `autocd`, e.g. `**/qux` will enter `./foo/bar/baz/qux`
# * Recursive globbing, e.g. `echo **/*.txt`
for option in autocd globstar; do
shopt -s "$option" 2> /dev/null;
done;

# Add tab completion for many Bash commands
if which brew &> /dev/null && [ -f "$(brew --prefix)/share/bash-completion/bash_completion" ]; then
source "$(brew --prefix)/share/bash-completion/bash_completion";
elif [ -f /etc/bash_completion ]; then
source /etc/bash_completion;
fi;

# Enable tab completion for `g` by marking it as an alias for `git`
if type _git &> /dev/null && [ -f /usr/local/etc/bash_completion.d/git-completion.bash ]; then
complete -o default -o nospace -F _git g;
fi;

# Add tab completion for SSH hostnames based on ~/.ssh/config, ignoring wildcards
[ -e "$HOME/.ssh/config" ] && complete -o "default" -o "nospace" -W "$(grep "^Host" ~/.ssh/config | grep -v "[?*]" | cut -d " " -f2- | tr ' ' '\n')" scp sftp ssh;

# Add tab completion for `defaults read|write NSGlobalDomain`
# You could just use `-g` instead, but I like being explicit
complete -W "NSGlobalDomain" defaults;

# Add `killall` tab completion for common apps
complete -o "nospace" -W "Contacts Calendar Dock Finder Mail Safari iTunes SystemUIServer Terminal Twitter" killall;
122 changes: 122 additions & 0 deletions .bash_prompt
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
#!/usr/bin/env bash

# Shell prompt based on the Solarized Dark theme.
# Screenshot: http://i.imgur.com/EkEtphC.png
# Heavily inspired by @necolas’s prompt: https://github.com/necolas/dotfiles
# iTerm → Profiles → Text → use 13pt Monaco with 1.1 vertical spacing.

if [[ $COLORTERM = gnome-* && $TERM = xterm ]] && infocmp gnome-256color >/dev/null 2>&1; then
export TERM='gnome-256color';
elif infocmp xterm-256color >/dev/null 2>&1; then
export TERM='xterm-256color';
fi;

prompt_git() {
local s='';
local branchName='';

# Check if the current directory is in a Git repository.
if [ $(git rev-parse --is-inside-work-tree &>/dev/null; echo "${?}") == '0' ]; then

# check if the current directory is in .git before running git checks
if [ "$(git rev-parse --is-inside-git-dir 2> /dev/null)" == 'false' ]; then

# Ensure the index is up to date.
git update-index --really-refresh -q &>/dev/null;

# Check for uncommitted changes in the index.
if ! $(git diff --quiet --ignore-submodules --cached); then
s+='+';
fi;

# Check for unstaged changes.
if ! $(git diff-files --quiet --ignore-submodules --); then
s+='!';
fi;

# Check for untracked files.
if [ -n "$(git ls-files --others --exclude-standard)" ]; then
s+='?';
fi;

# Check for stashed files.
if $(git rev-parse --verify refs/stash &>/dev/null); then
s+='$';
fi;

fi;

# Get the short symbolic ref.
# If HEAD isn’t a symbolic ref, get the short SHA for the latest commit
# Otherwise, just give up.
branchName="$(git symbolic-ref --quiet --short HEAD 2> /dev/null || \
git rev-parse --short HEAD 2> /dev/null || \
echo '(unknown)')";

[ -n "${s}" ] && s=" [${s}]";

echo -e "${1}${branchName}${2}${s}";
else
return;
fi;
}

if tput setaf 1 &> /dev/null; then
tput sgr0; # reset colors
bold=$(tput bold);
reset=$(tput sgr0);
# Solarized colors, taken from http://git.io/solarized-colors.
black=$(tput setaf 0);
blue=$(tput setaf 33);
cyan=$(tput setaf 37);
green=$(tput setaf 64);
orange=$(tput setaf 166);
purple=$(tput setaf 125);
red=$(tput setaf 124);
violet=$(tput setaf 61);
white=$(tput setaf 15);
yellow=$(tput setaf 136);
else
bold='';
reset="\e[0m";
black="\e[1;30m";
blue="\e[1;34m";
cyan="\e[1;36m";
green="\e[1;32m";
orange="\e[1;33m";
purple="\e[1;35m";
red="\e[1;31m";
violet="\e[1;35m";
white="\e[1;37m";
yellow="\e[1;33m";
fi;

# Highlight the user name when logged in as root.
if [[ "${USER}" == "root" ]]; then
userStyle="${red}";
else
userStyle="${orange}";
fi;

# Highlight the hostname when connected via SSH.
if [[ "${SSH_TTY}" ]]; then
hostStyle="${bold}${red}";
else
hostStyle="${yellow}";
fi;

# Set the terminal title and prompt.
PS1="\[\033]0;\W\007\]"; # working directory base name
PS1+="\[${bold}\]\n"; # newline
PS1+="\[${userStyle}\]\u"; # username
PS1+="\[${white}\] at ";
PS1+="\[${hostStyle}\]\h"; # host
PS1+="\[${white}\] in ";
PS1+="\[${green}\]\w"; # working directory full path
PS1+="\$(prompt_git \"\[${white}\] on \[${violet}\]\" \"\[${blue}\]\")"; # Git repository details
PS1+="\n";
PS1+="\[${white}\]\$ \[${reset}\]"; # `$` (and reset color)
export PS1;

PS2="\[${yellow}\]→ \[${reset}\]";
export PS2;
1 change: 1 addition & 0 deletions .bashrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[ -n "$PS1" ] && source ~/.bash_profile;
8 changes: 8 additions & 0 deletions .curlrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Disguise as IE 9 on Windows 7.
user-agent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"

# When following a redirect, automatically set the previous URL as referer.
referer = ";auto"

# Wait 60 seconds before timing out.
connect-timeout = 60
8 changes: 8 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
root = true

[*]
charset = utf-8
indent_style = tab
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
30 changes: 30 additions & 0 deletions .exports
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/usr/bin/env bash

# Make vim the default editor.
export EDITOR='vim';

# Enable persistent REPL history for `node`.
export NODE_REPL_HISTORY=~/.node_history;
# Allow 32³ entries; the default is 1000.
export NODE_REPL_HISTORY_SIZE='32768';
# Use sloppy mode by default, matching web browsers.
export NODE_REPL_MODE='sloppy';

# Make Python use UTF-8 encoding for output to stdin, stdout, and stderr.
export PYTHONIOENCODING='UTF-8';

# Increase Bash history size. Allow 32³ entries; the default is 500.
export HISTSIZE='32768';
export HISTFILESIZE="${HISTSIZE}";
# Omit duplicates and commands that begin with a space from history.
export HISTCONTROL='ignoreboth';

# Prefer US English and use UTF-8.
export LANG='en_US.UTF-8';
export LC_ALL='en_US.UTF-8';

# Highlight section titles in manual pages.
export LESS_TERMCAP_md="${yellow}";

# Don’t clear the screen after quitting a manual page.
export MANPAGER='less -X';
Loading

0 comments on commit 6752584

Please sign in to comment.