A lot of new awesome stuff.
This commit is contained in:
parent
73babe1cd6
commit
6c4d0e8aa2
@ -17,7 +17,11 @@ cd ~/dotfiles && git pull && ./sync.py
|
||||
## Resources
|
||||
|
||||
[Mathias’s dotfiles](https://github.com/mathiasbynens/dotfiles)
|
||||
[Jan Moesen’s dotfiles](https://github.com/janmoesen/tilde)
|
||||
[Yet another cool story about bash prompt](http://habrahabr.ru/company/mailru/blog/145008/) (in Russian)
|
||||
|
||||
---
|
||||
|
||||
Feel free to fork :-)
|
||||
|
||||
:shipit:
|
79
bash_aliases
79
bash_aliases
@ -1,13 +1,78 @@
|
||||
# Easier navigation: .., ..., ...., ....., ~ and -
|
||||
alias ..="cd .."
|
||||
alias ...="cd ../.."
|
||||
alias ....="cd ../../.."
|
||||
alias .....="cd ../../../.."
|
||||
alias ~="cd ~"
|
||||
alias -- -="cd -"
|
||||
|
||||
# Shortcuts
|
||||
alias dr="cd ~/Dropbox"
|
||||
#alias dl="cd ~/Downloads"
|
||||
#alias dt="cd ~/Desktop"
|
||||
alias pj="cd ~/Dropbox/Projects"
|
||||
alias o="open"
|
||||
alias oo="open ."
|
||||
|
||||
# Detect which `ls` flavor is in use
|
||||
if ls --color > /dev/null 2>&1; then # GNU `ls`
|
||||
colorflag="--color"
|
||||
else # OS X `ls`
|
||||
colorflag="-G"
|
||||
fi
|
||||
|
||||
# Always use color output for `ls`
|
||||
alias ls="command ls ${colorflag}"
|
||||
export LS_COLORS='no=00:fi=00:di=01;34: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:'
|
||||
|
||||
# Enable aliases to be sudo’ed
|
||||
alias sudo='sudo '
|
||||
|
||||
# Gzip-enabled `curl`
|
||||
#alias gurl="curl --compressed"
|
||||
|
||||
# Get OS X 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 update npm -g; npm update -g; sudo gem update'
|
||||
|
||||
# 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"
|
||||
|
||||
# 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
|
||||
alias emptytrash="sudo rm -rfv /Volumes/*/.Trashes; sudo rm -rfv ~/.Trash; sudo rm -rfv /private/var/log/asl/*.asl"
|
||||
|
||||
# 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"
|
||||
|
||||
# URL-encode strings
|
||||
#alias urlencode='python -c "import sys, urllib as ul; print ul.quote_plus(sys.argv[1]);"'
|
||||
|
||||
# Ring the terminal bell, and put a badge on Terminal.app’s Dock icon
|
||||
# (useful when executing time-consuming commands)
|
||||
#alias badge="tput bel"
|
||||
|
||||
# HTTP requests
|
||||
for method in GET HEAD POST PUT DELETE TRACE OPTIONS; do
|
||||
alias "$method"="lwp-request -m '$method'"
|
||||
done
|
||||
|
||||
# Convert line endings to UNIX
|
||||
alias dos2unix="perl -pi -e 's/\r\n?/\n/g' "
|
||||
|
||||
# NPM
|
||||
alias npm-patch='npm version patch -m "Version %s"'
|
||||
alias npm-release='npm version minor -m "Version %s"'
|
||||
alias npm-patch='npm version patch -m "%s"'
|
||||
alias npm-release='npm version minor -m "%s"'
|
||||
|
||||
# Grunt
|
||||
alias gw="grunt watch --debug"
|
||||
ginit() { grunt init:$@ ;}
|
||||
|
||||
# Convert line endings to UNIX
|
||||
alias dos2unix="perl -pi -e 's/\r\n?/\n/g' "
|
||||
|
||||
# Tools
|
||||
source ~/dotfiles/tools/root.sh
|
||||
# Load external aliases
|
||||
source ~/dotfiles/includes/root.sh
|
184
bash_profile
184
bash_profile
@ -1,22 +1,23 @@
|
||||
# Inspired by: https://github.com/dreadatour/dotfiles/blob/master/.bash_profile
|
||||
|
||||
|
||||
# Don't put duplicate lines in the history
|
||||
export HISTCONTROL=ignoreboth,erasedups
|
||||
export HISTCONTROL=ignoreboth:erasedups
|
||||
|
||||
# Set history length
|
||||
HISTFILESIZE=1000000000
|
||||
HISTSIZE=1000000
|
||||
|
||||
|
||||
# Append to the history file, don't overwrite it
|
||||
shopt -s histappend
|
||||
# Check the window size after each command and, if necessary, update the values of LINES and COLUMNS.
|
||||
# Check the window size after each command and, if necessary, update the values of LINES and COLUMNS
|
||||
shopt -s checkwinsize
|
||||
# Autocorrect typos in path names when using `cd`
|
||||
shopt -s cdspell
|
||||
# Save all lines of a multiple-line command in the same history entry (allows easy re-editing of multi-line commands)
|
||||
shopt -s cmdhist
|
||||
# Do not autocomplete when accidentally pressing Tab on an empty line. (It takes forever and yields "Display all 15 gazillion possibilites?")
|
||||
shopt -s no_empty_cmd_completion;
|
||||
|
||||
# Do not overwrite files when redirecting using ">". Note that you can still override this with ">|"
|
||||
set -o noclobber;
|
||||
|
||||
# Enable some Bash 4 features when possible:
|
||||
# * `autocd`, e.g. `**/qux` will enter `./foo/bar/baz/qux`
|
||||
@ -25,143 +26,56 @@ for option in autocd globstar; do
|
||||
shopt -s "$option" 2> /dev/null
|
||||
done
|
||||
|
||||
# Setup color variables
|
||||
color_is_on=
|
||||
color_red=
|
||||
color_green=
|
||||
color_yellow=
|
||||
color_blue=
|
||||
color_white=
|
||||
color_gray=
|
||||
color_bg_red=
|
||||
color_off=
|
||||
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
|
||||
color_is_on=true
|
||||
color_red="\[$(/usr/bin/tput setaf 1)\]"
|
||||
color_green="\[$(/usr/bin/tput setaf 2)\]"
|
||||
color_yellow="\[$(/usr/bin/tput setaf 3)\]"
|
||||
color_blue="\[$(/usr/bin/tput setaf 6)\]"
|
||||
color_white="\[$(/usr/bin/tput setaf 7)\]"
|
||||
color_gray="\[$(/usr/bin/tput setaf 8)\]"
|
||||
color_off="\[$(/usr/bin/tput sgr0)\]"
|
||||
color_error="$(/usr/bin/tput setab 1)$(/usr/bin/tput setaf 7)"
|
||||
color_error_off="$(/usr/bin/tput sgr0)"
|
||||
|
||||
# set user color
|
||||
case `id -u` in
|
||||
0) color_user=$color_red ;;
|
||||
*) color_user=$color_green ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
# Some kind of optimization - check if git installed only on config load
|
||||
PS1_GIT_BIN=$(which git 2>/dev/null)
|
||||
|
||||
function prompt_command {
|
||||
local PS1_GIT=
|
||||
local GIT_BRANCH=
|
||||
local GIT_DIRTY=
|
||||
local PWDNAME=$PWD
|
||||
|
||||
# Beautify working directory name
|
||||
if [ $HOME == $PWD ]; then
|
||||
PWDNAME="~"
|
||||
elif [ $HOME == ${PWD:0:${#HOME}} ]; then
|
||||
PWDNAME="~${PWD:${#HOME}}"
|
||||
fi
|
||||
|
||||
# Parse git status and get git variables
|
||||
if [[ ! -z $PS1_GIT_BIN ]]; then
|
||||
# check we are in git repo
|
||||
local CUR_DIR=$PWD
|
||||
while [[ ! -d "${CUR_DIR}/.git" ]] && [[ ! "${CUR_DIR}" == "/" ]] && [[ ! "${CUR_DIR}" == "~" ]] && [[ ! "${CUR_DIR}" == "" ]]; do CUR_DIR=${CUR_DIR%/*}; done
|
||||
if [[ -d "${CUR_DIR}/.git" ]]; then
|
||||
# 'git repo for dotfiles' fix: show git status only in home dir and other git repos
|
||||
if [[ "${CUR_DIR}" != "${HOME}" ]] || [[ "${PWD}" == "${HOME}" ]]; then
|
||||
# get git branch
|
||||
GIT_BRANCH=$($PS1_GIT_BIN symbolic-ref HEAD 2>/dev/null)
|
||||
if [[ ! -z $GIT_BRANCH ]]; then
|
||||
GIT_BRANCH=${GIT_BRANCH#refs/heads/}
|
||||
|
||||
# get git status
|
||||
local GIT_STATUS=$($PS1_GIT_BIN status --porcelain 2>/dev/null)
|
||||
[[ -n $GIT_STATUS ]] && GIT_DIRTY=1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Build B&W prompt for git
|
||||
[[ ! -z $GIT_BRANCH ]] && PS1_GIT=" #${GIT_BRANCH}"
|
||||
|
||||
# Calculate prompt length
|
||||
local PS1_length=$((${#USER}+${#HOSTNAME}+${#PWDNAME}+${#PS1_GIT}+3))
|
||||
local FILL=
|
||||
|
||||
# Of length is greater, than terminal width
|
||||
if [[ $PS1_length -gt $COLUMNS ]]; then
|
||||
# strip working directory name
|
||||
PWDNAME="...${PWDNAME:$(($PS1_length-$COLUMNS+3))}"
|
||||
else
|
||||
# else calculate fillsize
|
||||
local fillsize=$(($COLUMNS-$PS1_length))
|
||||
FILL=$color_gray
|
||||
while [[ $fillsize -gt 0 ]]; do FILL="${FILL}─"; fillsize=$(($fillsize-1)); done
|
||||
FILL="${FILL}${color_off}"
|
||||
fi
|
||||
|
||||
if $color_is_on; then
|
||||
# Git status for prompt
|
||||
if [ ! -z $GIT_BRANCH ]; then
|
||||
if [ -z $GIT_DIRTY ]; then
|
||||
PS1_GIT=" #${color_green}${GIT_BRANCH}${color_off}"
|
||||
else
|
||||
PS1_GIT=" #${color_red}${GIT_BRANCH}${color_off}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# set new color prompt
|
||||
PS1="${color_user}${USER}${color_off}@${color_yellow}${HOSTNAME}${color_off}:${color_white}${PWDNAME}${color_off}${PS1_GIT} ${FILL}\n→ "
|
||||
|
||||
# get cursor position and add new line if we're not in first column
|
||||
# cool'n'dirty trick (http://stackoverflow.com/a/2575525/1164595)
|
||||
# XXX FIXME: this hack broke ssh =(
|
||||
# exec < /dev/tty
|
||||
# local OLDSTTY=$(stty -g)
|
||||
# stty raw -echo min 0
|
||||
# echo -en "\033[6n" > /dev/tty && read -sdR CURPOS
|
||||
# stty $OLDSTTY
|
||||
echo -en "\033[6n" && read -sdR CURPOS
|
||||
[[ ${CURPOS##*;} -gt 1 ]] && echo "${color_error}●${color_error_off}"
|
||||
|
||||
# Set title
|
||||
echo -ne "\033]0;${USER}@${HOSTNAME}:${PWDNAME}"; echo -ne "\007"
|
||||
}
|
||||
|
||||
# Set prompt command (title update and color prompt)
|
||||
PROMPT_COMMAND=prompt_command
|
||||
# Set new B&W prompt (will be overwritten in `prompt_command` later with color prompt)
|
||||
PS1='\u@\h:\w\$ '
|
||||
|
||||
# If possible, add tab completion for many more commands
|
||||
[ -f /etc/bash_completion ] && source /etc/bash_completion
|
||||
|
||||
# Bash aliases
|
||||
[ -f ~/.bash_aliases ] && source ~/.bash_aliases
|
||||
|
||||
# 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)" scp sftp ssh
|
||||
|
||||
# Locale
|
||||
export LC_ALL=en_US.UTF-8
|
||||
export LANG="en_US"
|
||||
|
||||
# Add `~/bin` to the `$PATH`
|
||||
export PATH="$HOME/bin:/usr/local/bin:$PATH"
|
||||
|
||||
# If possible, add tab completion for many commands
|
||||
[ -f /etc/bash_completion ] && source /etc/bash_completion
|
||||
|
||||
# Aliases and prompt
|
||||
[ -f ~/.bash_aliases ] && source ~/.bash_aliases
|
||||
[ -f ~/.bash_prompt ] && source ~/.bash_prompt
|
||||
|
||||
# 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)" scp sftp ssh
|
||||
|
||||
# Nano is default editor
|
||||
export EDITOR='nano';
|
||||
|
||||
# Tell ls to be colourful
|
||||
export CLICOLOR=1
|
||||
|
||||
# Tell grep to highlight matches
|
||||
export GREP_OPTIONS='--color=auto'
|
||||
|
||||
# Make less the default pager, and specify some useful defaults.
|
||||
less_options=(
|
||||
# If the entire text fits on one screen, just show it and quit. (Be more
|
||||
# like "cat" and less like "more".)
|
||||
--quit-if-one-screen
|
||||
|
||||
# Do not clear the screen first.
|
||||
--no-init
|
||||
|
||||
# Like "smartcase" in Vim: ignore case unless the search pattern is mixed.
|
||||
--ignore-case
|
||||
|
||||
# Do not automatically wrap long lines.
|
||||
--chop-long-lines
|
||||
|
||||
# Allow ANSI colour escapes, but no other escapes.
|
||||
--RAW-CONTROL-CHARS
|
||||
|
||||
# Do not ring the bell when trying to scroll past the end of the buffer.
|
||||
--quiet
|
||||
|
||||
# Do not complain when we are on a dumb terminal.
|
||||
--dumb
|
||||
);
|
||||
export LESS="${less_options[*]}";
|
||||
unset less_options;
|
||||
export PAGER='less';
|
||||
|
121
bash_prompt
Normal file
121
bash_prompt
Normal file
@ -0,0 +1,121 @@
|
||||
# Inspired by: https://github.com/dreadatour/dotfiles/blob/master/.bash_profile
|
||||
|
||||
# Setup color variables
|
||||
color_is_on=
|
||||
color_red=
|
||||
color_green=
|
||||
color_yellow=
|
||||
color_blue=
|
||||
color_white=
|
||||
color_gray=
|
||||
color_bg_red=
|
||||
color_off=
|
||||
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
|
||||
color_is_on=true
|
||||
color_red="\[$(/usr/bin/tput setaf 1)\]"
|
||||
color_green="\[$(/usr/bin/tput setaf 2)\]"
|
||||
color_yellow="\[$(/usr/bin/tput setaf 3)\]"
|
||||
color_blue="\[$(/usr/bin/tput setaf 6)\]"
|
||||
color_white="\[$(/usr/bin/tput setaf 7)\]"
|
||||
color_gray="\[$(/usr/bin/tput setaf 8)\]"
|
||||
color_off="\[$(/usr/bin/tput sgr0)\]"
|
||||
color_error="$(/usr/bin/tput setab 1)$(/usr/bin/tput setaf 7)"
|
||||
color_error_off="$(/usr/bin/tput sgr0)"
|
||||
|
||||
# set user color
|
||||
case `id -u` in
|
||||
0) color_user=$color_red ;;
|
||||
*) color_user=$color_green ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
# Some kind of optimization - check if git installed only on config load
|
||||
PS1_GIT_BIN=$(which git 2>/dev/null)
|
||||
|
||||
function prompt_command {
|
||||
local PS1_GIT=
|
||||
local GIT_BRANCH=
|
||||
local GIT_DIRTY=
|
||||
local PWDNAME=$PWD
|
||||
|
||||
# Beautify working directory name
|
||||
if [ $HOME == $PWD ]; then
|
||||
PWDNAME="~"
|
||||
elif [ $HOME == ${PWD:0:${#HOME}} ]; then
|
||||
PWDNAME="~${PWD:${#HOME}}"
|
||||
fi
|
||||
|
||||
# Parse git status and get git variables
|
||||
if [[ ! -z $PS1_GIT_BIN ]]; then
|
||||
# check we are in git repo
|
||||
local CUR_DIR=$PWD
|
||||
while [[ ! -d "${CUR_DIR}/.git" ]] && [[ ! "${CUR_DIR}" == "/" ]] && [[ ! "${CUR_DIR}" == "~" ]] && [[ ! "${CUR_DIR}" == "" ]]; do CUR_DIR=${CUR_DIR%/*}; done
|
||||
if [[ -d "${CUR_DIR}/.git" ]]; then
|
||||
# 'git repo for dotfiles' fix: show git status only in home dir and other git repos
|
||||
if [[ "${CUR_DIR}" != "${HOME}" ]] || [[ "${PWD}" == "${HOME}" ]]; then
|
||||
# get git branch
|
||||
GIT_BRANCH=$($PS1_GIT_BIN symbolic-ref HEAD 2>/dev/null)
|
||||
if [[ ! -z $GIT_BRANCH ]]; then
|
||||
GIT_BRANCH=${GIT_BRANCH#refs/heads/}
|
||||
|
||||
# get git status
|
||||
local GIT_STATUS=$($PS1_GIT_BIN status --porcelain 2>/dev/null)
|
||||
[[ -n $GIT_STATUS ]] && GIT_DIRTY=1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Build B&W prompt for git
|
||||
[[ ! -z $GIT_BRANCH ]] && PS1_GIT=" #${GIT_BRANCH}"
|
||||
|
||||
# Calculate prompt length
|
||||
local PS1_length=$((${#USER}+${#HOSTNAME}+${#PWDNAME}+${#PS1_GIT}+3))
|
||||
local FILL=
|
||||
|
||||
# Of length is greater, than terminal width
|
||||
if [[ $PS1_length -gt $COLUMNS ]]; then
|
||||
# strip working directory name
|
||||
PWDNAME="...${PWDNAME:$(($PS1_length-$COLUMNS+3))}"
|
||||
else
|
||||
# else calculate fillsize
|
||||
local fillsize=$(($COLUMNS-$PS1_length))
|
||||
FILL=$color_gray
|
||||
while [[ $fillsize -gt 0 ]]; do FILL="${FILL}─"; fillsize=$(($fillsize-1)); done
|
||||
FILL="${FILL}${color_off}"
|
||||
fi
|
||||
|
||||
if $color_is_on; then
|
||||
# Git status for prompt
|
||||
if [ ! -z $GIT_BRANCH ]; then
|
||||
if [ -z $GIT_DIRTY ]; then
|
||||
PS1_GIT=" #${color_green}${GIT_BRANCH}${color_off}"
|
||||
else
|
||||
PS1_GIT=" #${color_red}${GIT_BRANCH}${color_off}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# set new color prompt
|
||||
PS1="${color_user}${USER}${color_off}@${color_yellow}${HOSTNAME}${color_off}:${color_white}${PWDNAME}${color_off}${PS1_GIT} ${FILL}\n→ "
|
||||
|
||||
# get cursor position and add new line if we're not in first column
|
||||
# cool'n'dirty trick (http://stackoverflow.com/a/2575525/1164595)
|
||||
# XXX FIXME: this hack broke ssh =(
|
||||
# exec < /dev/tty
|
||||
# local OLDSTTY=$(stty -g)
|
||||
# stty raw -echo min 0
|
||||
# echo -en "\033[6n" > /dev/tty && read -sdR CURPOS
|
||||
# stty $OLDSTTY
|
||||
echo -en "\033[6n" && read -sdR CURPOS
|
||||
[[ ${CURPOS##*;} -gt 1 ]] && echo "${color_error}●${color_error_off}"
|
||||
|
||||
# Set title
|
||||
echo -ne "\033]0;${USER}@${HOSTNAME}:${PWDNAME}"; echo -ne "\007"
|
||||
}
|
||||
|
||||
# Set prompt command (title update and color prompt)
|
||||
PROMPT_COMMAND=prompt_command
|
||||
# Set new B&W prompt (will be overwritten in `prompt_command` later with color prompt)
|
||||
PS1='\u@\h:\w\$ '
|
168
color/Solarized Dark.terminal
Normal file
168
color/Solarized Dark.terminal
Normal file
@ -0,0 +1,168 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BackgroundBlur</key>
|
||||
<real>0.0</real>
|
||||
<key>BackgroundColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OViRjbGFzc1xOU0NvbG9yU3BhY2VVTlNSR0KAAhAB
|
||||
TxAoMC4wMTU5MjQ0MDUzMSAwLjEyNjUyMDkxNjggMC4xNTk2OTYwMTI3ANIQERITWiRj
|
||||
bGFzc25hbWVYJGNsYXNzZXNXTlNDb2xvcqISFFhOU09iamVjdF8QD05TS2V5ZWRBcmNo
|
||||
aXZlctEXGFRyb290gAEIERojLTI3O0FIT1xiZGaRlqGqsrW+0NPYAAAAAAAAAQEAAAAA
|
||||
AAAAGQAAAAAAAAAAAAAAAAAAANo=
|
||||
</data>
|
||||
<key>Bell</key>
|
||||
<false/>
|
||||
<key>BlinkText</key>
|
||||
<false/>
|
||||
<key>CursorColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OViRjbGFzc1xOU0NvbG9yU3BhY2VVTlNSR0KAAhAB
|
||||
TxAnMC40NDA1ODAyNDg4IDAuNTA5NjI5MzA5MiAwLjUxNjg1Nzk4MTcA0hAREhNaJGNs
|
||||
YXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hp
|
||||
dmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhPXGJkZpCVoKmxtL3P0tcAAAAAAAABAQAAAAAA
|
||||
AAAZAAAAAAAAAAAAAAAAAAAA2Q==
|
||||
</data>
|
||||
<key>Font</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGGBlYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QViRjbGFzc1ZOU05hbWVWTlNTaXplWE5TZkZs
|
||||
YWdzgAOAAiNALAAAAAAAABAQWENvbnNvbGFz0hMUFRZaJGNsYXNzbmFtZVgkY2xhc3Nl
|
||||
c1ZOU0ZvbnSiFRdYTlNPYmplY3RfEA9OU0tleWVkQXJjaGl2ZXLRGhtUcm9vdIABCBEa
|
||||
Iy0yNzxCS1JZYGlrbXZ4gYaRmqGkrb/CxwAAAAAAAAEBAAAAAAAAABwAAAAAAAAAAAAA
|
||||
AAAAAADJ
|
||||
</data>
|
||||
<key>FontAntialias</key>
|
||||
<true/>
|
||||
<key>FontWidthSpacing</key>
|
||||
<real>1.004032258064516</real>
|
||||
<key>ProfileCurrentVersion</key>
|
||||
<real>2.02</real>
|
||||
<key>SelectionColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OViRjbGFzc1xOU0NvbG9yU3BhY2VVTlNSR0KAAhAB
|
||||
TxAoMC4wMzkzODA3MzY2NSAwLjE2MDExNjQ2MzkgMC4xOTgzMzI3NTY4ANIQERITWiRj
|
||||
bGFzc25hbWVYJGNsYXNzZXNXTlNDb2xvcqISFFhOU09iamVjdF8QD05TS2V5ZWRBcmNo
|
||||
aXZlctEXGFRyb290gAEIERojLTI3O0FIT1xiZGaRlqGqsrW+0NPYAAAAAAAAAQEAAAAA
|
||||
AAAAGQAAAAAAAAAAAAAAAAAAANo=
|
||||
</data>
|
||||
<key>ShowDimensionsInTitle</key>
|
||||
<false/>
|
||||
<key>ShowWindowSettingsNameInTitle</key>
|
||||
<true/>
|
||||
<key>TerminalType</key>
|
||||
<string>ansi</string>
|
||||
<key>TextBoldColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OViRjbGFzc1xOU0NvbG9yU3BhY2VVTlNSR0KAAhAB
|
||||
TxAmMC41MDU5OTE5MzU3IDAuNTY0ODU4Mzc3IDAuNTYzNjM2NTQxNADSEBESE1okY2xh
|
||||
c3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiEhRYTlNPYmplY3RfEA9OU0tleWVkQXJjaGl2
|
||||
ZXLRFxhUcm9vdIABCBEaIy0yNztBSE9cYmRmj5SfqLCzvM7R1gAAAAAAAAEBAAAAAAAA
|
||||
ABkAAAAAAAAAAAAAAAAAAADY
|
||||
</data>
|
||||
<key>TextColor</key>
|
||||
<data>
|
||||
YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
|
||||
AAGGoKMHCA9VJG51bGzTCQoLDA0OViRjbGFzc1xOU0NvbG9yU3BhY2VVTlNSR0KAAhAB
|
||||
TxAnMC40NDA1ODAyNDg4IDAuNTA5NjI5MzA5MiAwLjUxNjg1Nzk4MTcA0hAREhNaJGNs
|
||||
YXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hp
|
||||
dmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhPXGJkZpCVoKmxtL3P0tcAAAAAAAABAQAAAAAA
|
||||
AAAZAAAAAAAAAAAAAAAAAAAA2Q==
|
||||
</data>
|
||||
<key>UseBoldFonts</key>
|
||||
<true/>
|
||||
<key>UseBrightBold</key>
|
||||
<false/>
|
||||
<key>VisualBell</key>
|
||||
<true/>
|
||||
<key>blackColour</key>
|
||||
<data>
|
||||
BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
|
||||
ZmZmg7JNIT2DkvUjPoO+F0s+AYY=
|
||||
</data>
|
||||
<key>blueColour</key>
|
||||
<data>
|
||||
BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
|
||||
ZmZmgyqcAj6DtOHsPoO+RUg/AYY=
|
||||
</data>
|
||||
<key>brightBlackColour</key>
|
||||
<data>
|
||||
BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
|
||||
ZmZmg+ZzgjyDs44BPoNahyM+AYY=
|
||||
</data>
|
||||
<key>brightBlueColour</key>
|
||||
<data>
|
||||
BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
|
||||
ZmZmg7yT4T6DEXcCP4POUAQ/AYY=
|
||||
</data>
|
||||
<key>brightCyanColour</key>
|
||||
<data>
|
||||
BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
|
||||
ZmZmg7CIAT+Dj5oQP4N8ShA/AYY=
|
||||
</data>
|
||||
<key>brightGreenColour</key>
|
||||
<data>
|
||||
BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
|
||||
ZmZmgzyujT6DFZy2PoOYFsQ+AYY=
|
||||
</data>
|
||||
<key>brightMagentaColour</key>
|
||||
<data>
|
||||
BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
|
||||
ZmZmgxMjsj6D+uazPoNkyTc/AYY=
|
||||
</data>
|
||||
<key>brightRedColour</key>
|
||||
<data>
|
||||
BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
|
||||
ZmZmgyfkPT+D/15aPoMgl5Y9AYY=
|
||||
</data>
|
||||
<key>brightWhiteColour</key>
|
||||
<data>
|
||||
BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
|
||||
ZmZmg49LfT+D0Dt1P4MGM10/AYY=
|
||||
</data>
|
||||
<key>brightYellowColour</key>
|
||||
<data>
|
||||
BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
|
||||
ZmZmg1MTpj6DeHnQPoPQg+A+AYY=
|
||||
</data>
|
||||
<key>cyanColour</key>
|
||||
<data>
|
||||
BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
|
||||
ZmZmg4VRFj6DfyESP4PkZwY/AYY=
|
||||
</data>
|
||||
<key>greenColour</key>
|
||||
<data>
|
||||
BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
|
||||
ZmZmg9lI5j6DIYkKP4PVjKU8AYY=
|
||||
</data>
|
||||
<key>magentaColour</key>
|
||||
<data>
|
||||
BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
|
||||
ZmZmg/4CRz+DBTzdPYMgzt4+AYY=
|
||||
</data>
|
||||
<key>name</key>
|
||||
<string>Solarized Dark</string>
|
||||
<key>redColour</key>
|
||||
<data>
|
||||
BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
|
||||
ZmZmg6i7UT+DUATePYMl2hA+AYY=
|
||||
</data>
|
||||
<key>type</key>
|
||||
<string>Window Settings</string>
|
||||
<key>whiteColour</key>
|
||||
<data>
|
||||
BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
|
||||
ZmZmgzqGaj+D2tdjP4NYPUw/AYY=
|
||||
</data>
|
||||
<key>yellowColour</key>
|
||||
<data>
|
||||
BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
|
||||
ZmZmg0DAJT+DB17vPoM4Y8A8AYY=
|
||||
</data>
|
||||
</dict>
|
||||
</plist>
|
75
inputrc
Normal file
75
inputrc
Normal file
@ -0,0 +1,75 @@
|
||||
# Inspired by: https://github.com/janmoesen/tilde/blob/master/.inputrc
|
||||
|
||||
#
|
||||
# Autocompletion
|
||||
#
|
||||
|
||||
# Make Tab autocompletion case-insensitive (cd ~/dow<Tab> => cd ~/Downloads/)
|
||||
set completion-ignore-case On
|
||||
|
||||
# When autocompleting symlinks to directories, immediately add a trailing "/"
|
||||
set mark-symlinked-directories on
|
||||
|
||||
# Do not expand "~" to the home directory when completing. (The actual value passed on to the command still is expanded,
|
||||
# though. Which is good.) "Off" is the default value, but some servers override this
|
||||
set expand-tilde off
|
||||
|
||||
# Flip through autocompletion matches with Shift-Tab
|
||||
"\e[Z": menu-complete
|
||||
|
||||
# Do not autocomplete hidden files ("dot files") unless the pattern explicitly begins with a dot
|
||||
set match-hidden-files off
|
||||
|
||||
# Show all autocomplete results at once
|
||||
set page-completions off
|
||||
|
||||
# If there are more than 200 possible completions for a word, ask to show them all
|
||||
set completion-query-items 200
|
||||
|
||||
# Immediately show all possible completions
|
||||
set show-all-if-ambiguous on
|
||||
|
||||
# Show extra file information when completing, like ls -F does
|
||||
set visible-stats on
|
||||
|
||||
# Be more intelligent when autocompleting by also looking at the text after the cursor. For example, when the current
|
||||
# line is "cd ~/src/mozil", and the cursor is on the "z", pressing Tab will not autocomplete it to "cd ~/src/mozillail",
|
||||
# but to "cd ~/src/mozilla". (This is supported by the Readline used by Bash 4.)
|
||||
set skip-completed-text on
|
||||
|
||||
# Use the text that has already been typed as the prefix for searching through commands (i.e. more intelligent Up/Down behavior)
|
||||
"\e[B": history-search-forward
|
||||
"\e[A": history-search-backward
|
||||
|
||||
|
||||
#
|
||||
# Line editing
|
||||
#
|
||||
|
||||
# Allow UTF-8 input and output, instead of showing them like $'\0123\0456'
|
||||
set input-meta on
|
||||
set output-meta on
|
||||
set convert-meta off
|
||||
|
||||
# Use Alt/Meta+Delete to delete the preceding word
|
||||
"\e[3;3~": kill-word
|
||||
|
||||
# Delete for wonky terminals
|
||||
"\e[3~": delete-char
|
||||
|
||||
# Use Ctrl+← and Ctrl+→ (or Alt/Meta, or Esc) to move between words
|
||||
"\e[1;5D": backward-word
|
||||
"\e[1;3D": backward-word
|
||||
"\e[5D": backward-word
|
||||
"\e\e[D": backward-word
|
||||
"\e[1;5C": forward-word
|
||||
"\e[1;3C": forward-word
|
||||
"\e[5C": forward-word
|
||||
"\e\e[C": forward-word
|
||||
|
||||
|
||||
#
|
||||
# Misc
|
||||
#
|
||||
|
||||
set bell-style none
|
7
setup/Readme.md
Normal file
7
setup/Readme.md
Normal file
@ -0,0 +1,7 @@
|
||||
### How to remove US English keyboard layout on Mac OS X
|
||||
|
||||
Useful when you use some kind of [typo layout](http://ilyabirman.ru/projects/typography-layout/).
|
||||
|
||||
```bash
|
||||
bash <(curl -fsSkL raw.github.com/bolknote/shellgames/master/us_layout_remover.sh)
|
||||
```
|
500
setup/osx.sh
Executable file
500
setup/osx.sh
Executable file
@ -0,0 +1,500 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ~/.osx — http://mths.be/osx
|
||||
|
||||
# Ask for the administrator password upfront
|
||||
sudo -v
|
||||
|
||||
# Keep-alive: update existing `sudo` time stamp until `.osx` has finished
|
||||
while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &
|
||||
|
||||
###############################################################################
|
||||
# General UI/UX #
|
||||
###############################################################################
|
||||
|
||||
# Set computer name (as done via System Preferences → Sharing)
|
||||
#sudo scutil --set ComputerName "MathBook Pro"
|
||||
#sudo scutil --set HostName "MathBook Pro"
|
||||
#sudo scutil --set LocalHostName "MathBook-Pro"
|
||||
#sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server NetBIOSName -string "MathBook-Pro"
|
||||
|
||||
# Menu bar: disable transparency
|
||||
defaults write NSGlobalDomain AppleEnableMenuBarTransparency -bool false
|
||||
|
||||
# Menu bar: hide remaining battery time (on pre-10.8); hide percentage
|
||||
defaults write com.apple.menuextra.battery ShowPercent -string "NO"
|
||||
defaults write com.apple.menuextra.battery ShowTime -string "NO"
|
||||
|
||||
# Menu bar: hide the useless Time Machine and Volume icons
|
||||
defaults write com.apple.systemuiserver menuExtras -array "/System/Library/CoreServices/Menu Extras/Bluetooth.menu" "/System/Library/CoreServices/Menu Extras/AirPort.menu" "/System/Library/CoreServices/Menu Extras/Battery.menu" "/System/Library/CoreServices/Menu Extras/Clock.menu"
|
||||
|
||||
# Always show scrollbars
|
||||
#defaults write NSGlobalDomain AppleShowScrollBars -string "Always"
|
||||
|
||||
# Disable smooth scrolling
|
||||
# (Uncomment if you’re on an older Mac that messes up the animation)
|
||||
#defaults write NSGlobalDomain NSScrollAnimationEnabled -bool false
|
||||
|
||||
# Disable opening and closing window animations
|
||||
defaults write NSGlobalDomain NSAutomaticWindowAnimationsEnabled -bool false
|
||||
|
||||
# Increase window resize speed for Cocoa applications
|
||||
defaults write NSGlobalDomain NSWindowResizeTime -float 0.001
|
||||
|
||||
# Expand save panel by default
|
||||
#defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true
|
||||
|
||||
# Expand print panel by default
|
||||
#defaults write NSGlobalDomain PMPrintingExpandedStateForPrint -bool true
|
||||
|
||||
# Save to disk (not to iCloud) by default
|
||||
#defaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool false
|
||||
|
||||
# Automatically quit printer app once the print jobs complete
|
||||
defaults write com.apple.print.PrintingPrefs "Quit When Finished" -bool true
|
||||
|
||||
# Disable the “Are you sure you want to open this application?” dialog
|
||||
defaults write com.apple.LaunchServices LSQuarantine -bool false
|
||||
|
||||
# Display ASCII control characters using caret notation in standard text views
|
||||
# Try e.g. `cd /tmp; unidecode "\x{0000}" > cc.txt; open -e cc.txt`
|
||||
defaults write NSGlobalDomain NSTextShowsControlCharacters -bool true
|
||||
|
||||
# Disable Resume system-wide
|
||||
defaults write NSGlobalDomain NSQuitAlwaysKeepsWindows -bool false
|
||||
|
||||
# Disable automatic termination of inactive apps
|
||||
#defaults write NSGlobalDomain NSDisableAutomaticTermination -bool true
|
||||
|
||||
# Disable the crash reporter
|
||||
defaults write com.apple.CrashReporter DialogType -string "none"
|
||||
|
||||
# Set Help Viewer windows to non-floating mode
|
||||
#defaults write com.apple.helpviewer DevMode -bool true
|
||||
|
||||
# Fix for the ancient UTF-8 bug in QuickLook (http://mths.be/bbo)
|
||||
# Commented out, as this is known to cause problems when saving files in
|
||||
# Adobe Illustrator CS5 :(
|
||||
#echo "0x08000100:0" > ~/.CFUserTextEncoding
|
||||
|
||||
# Reveal IP address, hostname, OS version, etc. when clicking the clock
|
||||
# in the login window
|
||||
#sudo defaults write /Library/Preferences/com.apple.loginwindow AdminHostInfo HostName
|
||||
|
||||
# Restart automatically if the computer freezes
|
||||
#systemsetup -setrestartfreeze on
|
||||
|
||||
# Never go into computer sleep mode
|
||||
#systemsetup -setcomputersleep Off > /dev/null
|
||||
|
||||
# Check for software updates daily, not just once per week
|
||||
defaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1
|
||||
|
||||
###############################################################################
|
||||
# Trackpad, mouse, keyboard, Bluetooth accessories, and input #
|
||||
###############################################################################
|
||||
|
||||
# Trackpad: enable tap to click for this user and for the login screen
|
||||
#defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Clicking -bool true
|
||||
#defaults -currentHost write NSGlobalDomain com.apple.mouse.tapBehavior -int 1
|
||||
#defaults write NSGlobalDomain com.apple.mouse.tapBehavior -int 1
|
||||
|
||||
# Trackpad: map bottom right corner to right-click
|
||||
#defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadCornerSecondaryClick -int 2
|
||||
#defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadRightClick -bool true
|
||||
#defaults -currentHost write NSGlobalDomain com.apple.trackpad.trackpadCornerClickBehavior -int 1
|
||||
#defaults -currentHost write NSGlobalDomain com.apple.trackpad.enableSecondaryClick -bool true
|
||||
|
||||
# Trackpad: swipe between pages with three fingers
|
||||
#defaults write NSGlobalDomain AppleEnableSwipeNavigateWithScrolls -bool true
|
||||
#defaults -currentHost write NSGlobalDomain com.apple.trackpad.threeFingerHorizSwipeGesture -int 1
|
||||
#defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadThreeFingerHorizSwipeGesture -int 1
|
||||
|
||||
# Disable “natural” (Lion-style) scrolling
|
||||
#defaults write NSGlobalDomain com.apple.swipescrolldirection -bool false
|
||||
|
||||
# Increase sound quality for Bluetooth headphones/headsets
|
||||
#defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Min (editable)" -int 40
|
||||
|
||||
# Enable full keyboard access for all controls
|
||||
# (e.g. enable Tab in modal dialogs)
|
||||
defaults write NSGlobalDomain AppleKeyboardUIMode -int 3
|
||||
|
||||
# Enable access for assistive devices
|
||||
echo -n 'a' | sudo tee /private/var/db/.AccessibilityAPIEnabled > /dev/null 2>&1
|
||||
sudo chmod 444 /private/var/db/.AccessibilityAPIEnabled
|
||||
# TODO: avoid GUI password prompt somehow (http://apple.stackexchange.com/q/60476/4408)
|
||||
#sudo osascript -e 'tell application "System Events" to set UI elements enabled to true'
|
||||
|
||||
# Use scroll gesture with the Ctrl (^) modifier key to zoom
|
||||
defaults write com.apple.universalaccess closeViewScrollWheelToggle -bool true
|
||||
defaults write com.apple.universalaccess HIDScrollZoomModifierMask -int 262144
|
||||
# Follow the keyboard focus while zoomed in
|
||||
defaults write com.apple.universalaccess closeViewZoomFollowsFocus -bool true
|
||||
|
||||
# Disable press-and-hold for keys in favor of key repeat
|
||||
#defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false
|
||||
|
||||
# Set a blazingly fast keyboard repeat rate
|
||||
#defaults write NSGlobalDomain KeyRepeat -int 0
|
||||
|
||||
# Don't illuminate built-in MacBook keyboard in low light
|
||||
defaults write com.apple.BezelServices kDim -bool false
|
||||
# Turn off keyboard illumination when computer is not used for 5 minutes
|
||||
defaults write com.apple.BezelServices kDimTime -int 300
|
||||
|
||||
# Set language and text formats
|
||||
# Note: if you’re in the US, replace `EUR` with `USD`, `Centimeters` with
|
||||
# `Inches`, and `true` with `false`.
|
||||
defaults write NSGlobalDomain AppleLanguages -array "en" "ru"
|
||||
defaults write NSGlobalDomain AppleLocale -string "ru_RU@currency=RUR"
|
||||
defaults write NSGlobalDomain AppleMeasurementUnits -string "Centimeters"
|
||||
defaults write NSGlobalDomain AppleMetricUnits -bool true
|
||||
|
||||
# Set the timezone; see `systemsetup -listtimezones` for other values
|
||||
systemsetup -settimezone "Europe/Moscow" > /dev/null
|
||||
|
||||
# Disable auto-correct
|
||||
defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false
|
||||
|
||||
###############################################################################
|
||||
# Screen #
|
||||
###############################################################################
|
||||
|
||||
# Require password immediately after sleep or screen saver begins
|
||||
defaults write com.apple.screensaver askForPassword -int 1
|
||||
defaults write com.apple.screensaver askForPasswordDelay -int 0
|
||||
|
||||
# Save screenshots to the desktop
|
||||
defaults write com.apple.screencapture location -string "$HOME/Desktop"
|
||||
|
||||
# Save screenshots in PNG format (other options: BMP, GIF, JPG, PDF, TIFF)
|
||||
defaults write com.apple.screencapture type -string "png"
|
||||
|
||||
# Disable shadow in screenshots
|
||||
#defaults write com.apple.screencapture disable-shadow -bool true
|
||||
|
||||
# Enable subpixel font rendering on non-Apple LCDs
|
||||
defaults write NSGlobalDomain AppleFontSmoothing -int 2
|
||||
|
||||
# Enable HiDPI display modes (requires restart)
|
||||
sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool true
|
||||
|
||||
###############################################################################
|
||||
# Finder #
|
||||
###############################################################################
|
||||
|
||||
# Finder: allow quitting via ⌘ + Q; doing so will also hide desktop icons
|
||||
defaults write com.apple.finder QuitMenuItem -bool true
|
||||
|
||||
# Finder: disable window animations and Get Info animations
|
||||
defaults write com.apple.finder DisableAllAnimations -bool true
|
||||
|
||||
# Show icons for hard drives, servers, and removable media on the desktop
|
||||
#defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true
|
||||
#defaults write com.apple.finder ShowHardDrivesOnDesktop -bool true
|
||||
#defaults write com.apple.finder ShowMountedServersOnDesktop -bool true
|
||||
#defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true
|
||||
|
||||
# Finder: show hidden files by default
|
||||
defaults write com.apple.finder AppleShowAllFiles -bool true
|
||||
|
||||
# Finder: show all filename extensions
|
||||
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
|
||||
|
||||
# Finder: hide status bar
|
||||
defaults write com.apple.finder ShowStatusBar -bool false
|
||||
|
||||
# Finder: show path bar
|
||||
defaults write com.apple.finder ShowPathBar -boolean true
|
||||
|
||||
# Finder: allow text selection in Quick Look
|
||||
defaults write com.apple.finder QLEnableTextSelection -bool true
|
||||
|
||||
# Display full POSIX path as Finder window title
|
||||
#defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
|
||||
|
||||
# When performing a search, search the current folder by default
|
||||
defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"
|
||||
|
||||
# Disable the warning when changing a file extension
|
||||
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false
|
||||
|
||||
# Avoid creating .DS_Store files on network volumes
|
||||
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
|
||||
|
||||
# Disable disk image verification
|
||||
defaults write com.apple.frameworks.diskimages skip-verify -bool true
|
||||
defaults write com.apple.frameworks.diskimages skip-verify-locked -bool true
|
||||
defaults write com.apple.frameworks.diskimages skip-verify-remote -bool true
|
||||
|
||||
# Automatically open a new Finder window when a volume is mounted
|
||||
defaults write com.apple.frameworks.diskimages auto-open-ro-root -bool true
|
||||
defaults write com.apple.frameworks.diskimages auto-open-rw-root -bool true
|
||||
defaults write com.apple.finder OpenWindowForNewRemovableDisk -bool true
|
||||
|
||||
# Show item info below icons on the desktop and in other icon views
|
||||
#/usr/libexec/PlistBuddy -c "Set :DesktopViewSettings:IconViewSettings:showItemInfo true" ~/Library/Preferences/com.apple.finder.plist
|
||||
#/usr/libexec/PlistBuddy -c "Set :FK_StandardViewSettings:IconViewSettings:showItemInfo true" ~/Library/Preferences/com.apple.finder.plist
|
||||
#/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:IconViewSettings:showItemInfo true" ~/Library/Preferences/com.apple.finder.plist
|
||||
|
||||
# Enable snap-to-grid for icons on the desktop and in other icon views
|
||||
/usr/libexec/PlistBuddy -c "Set :DesktopViewSettings:IconViewSettings:arrangeBy grid" ~/Library/Preferences/com.apple.finder.plist
|
||||
/usr/libexec/PlistBuddy -c "Set :FK_StandardViewSettings:IconViewSettings:arrangeBy grid" ~/Library/Preferences/com.apple.finder.plist
|
||||
/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:IconViewSettings:arrangeBy grid" ~/Library/Preferences/com.apple.finder.plist
|
||||
|
||||
# Increase grid spacing for icons on the desktop and in other icon views
|
||||
#/usr/libexec/PlistBuddy -c "Set :DesktopViewSettings:IconViewSettings:gridSpacing 100" ~/Library/Preferences/com.apple.finder.plist
|
||||
#/usr/libexec/PlistBuddy -c "Set :FK_StandardViewSettings:IconViewSettings:gridSpacing 100" ~/Library/Preferences/com.apple.finder.plist
|
||||
#/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:IconViewSettings:gridSpacing 100" ~/Library/Preferences/com.apple.finder.plist
|
||||
|
||||
# Increase the size of icons on the desktop and in other icon views
|
||||
#/usr/libexec/PlistBuddy -c "Set :DesktopViewSettings:IconViewSettings:iconSize 80" ~/Library/Preferences/com.apple.finder.plist
|
||||
#/usr/libexec/PlistBuddy -c "Set :FK_StandardViewSettings:IconViewSettings:iconSize 80" ~/Library/Preferences/com.apple.finder.plist
|
||||
#/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:IconViewSettings:iconSize 80" ~/Library/Preferences/com.apple.finder.plist
|
||||
|
||||
# Use list view in all Finder windows by default
|
||||
# Four-letter codes for the other view modes: `icnv`, `clmv`, `Flwv`
|
||||
defaults write com.apple.finder FXPreferredViewStyle -string "Nlsv"
|
||||
|
||||
# Disable the warning before emptying the Trash
|
||||
#defaults write com.apple.finder WarnOnEmptyTrash -bool false
|
||||
|
||||
# Empty Trash securely by default
|
||||
defaults write com.apple.finder EmptyTrashSecurely -bool true
|
||||
|
||||
# Enable AirDrop over Ethernet and on unsupported Macs running Lion
|
||||
defaults write com.apple.NetworkBrowser BrowseAllInterfaces -bool true
|
||||
|
||||
# Finder: disable sounds
|
||||
defaults write com.apple.finder FinderSounds -boolean false
|
||||
|
||||
# Show the ~/Library folder
|
||||
chflags nohidden ~/Library
|
||||
|
||||
# Remove Dropbox’s green checkmark icons in Finder
|
||||
file=/Applications/Dropbox.app/Contents/Resources/check.icns
|
||||
[ -e "$file" ] && mv -f "$file" "$file.bak"
|
||||
unset file
|
||||
|
||||
###############################################################################
|
||||
# Dock & hot corners #
|
||||
###############################################################################
|
||||
|
||||
# Enable highlight hover effect for the grid view of a stack (Dock)
|
||||
#defaults write com.apple.dock mouse-over-hilte-stack -bool true
|
||||
|
||||
# Set the icon size of Dock items to 60 pixels
|
||||
defaults write com.apple.dock tilesize -int 60
|
||||
|
||||
# Enable spring loading for all Dock items
|
||||
defaults write com.apple.dock enable-spring-load-actions-on-all-items -bool true
|
||||
|
||||
# Don't show indicator lights for open applications in the Dock
|
||||
defaults write com.apple.dock show-process-indicators -bool false
|
||||
|
||||
# Don’t animate opening applications from the Dock
|
||||
defaults write com.apple.dock launchanim -bool false
|
||||
|
||||
# Speed up Mission Control animations
|
||||
defaults write com.apple.dock expose-animation-duration -float 0.1
|
||||
|
||||
# Don’t group windows by application in Mission Control
|
||||
# (i.e. use the old Exposé behavior instead)
|
||||
defaults write com.apple.dock expose-group-by-app -bool false
|
||||
|
||||
# Don’t show Dashboard as a Space
|
||||
defaults write com.apple.dock dashboard-in-overlay -bool true
|
||||
|
||||
# Remove the auto-hiding Dock delay
|
||||
defaults write com.apple.Dock autohide-delay -float 0
|
||||
# Remove the animation when hiding/showing the Dock
|
||||
defaults write com.apple.dock autohide-time-modifier -float 0
|
||||
|
||||
# Enable the 2D Dock
|
||||
#defaults write com.apple.dock no-glass -bool true
|
||||
|
||||
# Automatically hide and show the Dock
|
||||
defaults write com.apple.dock autohide -bool true
|
||||
|
||||
# Make Dock icons of hidden applications translucent
|
||||
#defaults write com.apple.dock showhidden -bool true
|
||||
|
||||
# Disable icon bouncing (looks like it don't work)
|
||||
defaults write com.apple.dock no-bouncing -bool true
|
||||
|
||||
# Disable Space switching on Command-Tab
|
||||
defaults write com.apple.dock workspaces-auto-swoosh -bool false
|
||||
|
||||
# Reset Launchpad
|
||||
find ~/Library/Application\ Support/Dock -name "*.db" -maxdepth 1 -delete
|
||||
|
||||
# Add iOS Simulator to Launchpad
|
||||
#ln -s /Applications/Xcode.app/Contents/Applications/iPhone\ Simulator.app /Applications/iOS\ Simulator.app
|
||||
|
||||
# Add a spacer to the left side of the Dock (where the applications are)
|
||||
#defaults write com.apple.dock persistent-apps -array-add '{tile-data={}; tile-type="spacer-tile";}'
|
||||
# Add a spacer to the right side of the Dock (where the Trash is)
|
||||
#defaults write com.apple.dock persistent-others -array-add '{tile-data={}; tile-type="spacer-tile";}'
|
||||
|
||||
# Hot corners
|
||||
# Top left screen corner → Mission Control
|
||||
#defaults write com.apple.dock wvous-tl-corner -int 2
|
||||
#defaults write com.apple.dock wvous-tl-modifier -int 0
|
||||
# Top right screen corner → Desktop
|
||||
#defaults write com.apple.dock wvous-tr-corner -int 4
|
||||
#defaults write com.apple.dock wvous-tr-modifier -int 0
|
||||
# Bottom left screen corner → Start screen saver
|
||||
#defaults write com.apple.dock wvous-bl-corner -int 5
|
||||
#defaults write com.apple.dock wvous-bl-modifier -int 0
|
||||
|
||||
###############################################################################
|
||||
# Misc #
|
||||
###############################################################################
|
||||
|
||||
# Check spelling as you type
|
||||
defaults write -g CheckSpellingWhileTyping -boolean true
|
||||
|
||||
# Enable continuous spell checking everywhere (don't know what it means)
|
||||
defaults write -g WebContinuousSpellCheckingEnabled -boolean true
|
||||
|
||||
###############################################################################
|
||||
# Safari & WebKit #
|
||||
###############################################################################
|
||||
|
||||
# Set Safari’s home page to `about:blank` for faster loading
|
||||
defaults write com.apple.Safari HomePage -string "about:blank"
|
||||
|
||||
# Prevent Safari from opening ‘safe’ files automatically after downloading
|
||||
defaults write com.apple.Safari AutoOpenSafeDownloads -bool false
|
||||
|
||||
# Allow hitting the Backspace key to go to the previous page in history
|
||||
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2BackspaceKeyNavigationEnabled -bool true
|
||||
|
||||
# Hide Safari’s bookmarks bar by default
|
||||
defaults write com.apple.Safari ShowFavoritesBar -bool false
|
||||
|
||||
# Disable Safari’s thumbnail cache for History and Top Sites
|
||||
defaults write com.apple.Safari DebugSnapshotsUpdatePolicy -int 2
|
||||
|
||||
# Enable Safari’s debug menu
|
||||
defaults write com.apple.Safari IncludeInternalDebugMenu -bool true
|
||||
|
||||
# Make Safari’s search banners default to Contains instead of Starts With
|
||||
defaults write com.apple.Safari FindOnPageMatchesWordStartsOnly -bool false
|
||||
|
||||
# Remove useless icons from Safari’s bookmarks bar
|
||||
defaults write com.apple.Safari ProxiesInBookmarksBar "()"
|
||||
|
||||
# Enable the Develop menu and the Web Inspector in Safari
|
||||
defaults write com.apple.Safari IncludeDevelopMenu -bool true
|
||||
defaults write com.apple.Safari WebKitDeveloperExtrasEnabledPreferenceKey -bool true
|
||||
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled -bool true
|
||||
|
||||
# Add a context menu item for showing the Web Inspector in web views
|
||||
defaults write NSGlobalDomain WebKitDeveloperExtras -bool true
|
||||
|
||||
# Enable the WebKit Developer Tools in the Mac App Store
|
||||
defaults write com.apple.appstore WebKitDeveloperExtras -bool true
|
||||
|
||||
###############################################################################
|
||||
# iTunes #
|
||||
###############################################################################
|
||||
|
||||
# Disable the iTunes store link arrows
|
||||
defaults write com.apple.iTunes show-store-link-arrows -bool false
|
||||
|
||||
# Disable the Genius sidebar in iTunes
|
||||
defaults write com.apple.iTunes disableGeniusSidebar -bool true
|
||||
|
||||
# Disable the Ping sidebar in iTunes
|
||||
defaults write com.apple.iTunes disablePingSidebar -bool true
|
||||
|
||||
# Disable all the other Ping stuff in iTunes
|
||||
defaults write com.apple.iTunes disablePing -bool true
|
||||
|
||||
# Disable radio stations in iTunes
|
||||
defaults write com.apple.iTunes disableRadio -bool true
|
||||
|
||||
# Make ⌘ + F focus the search input in iTunes
|
||||
# To use these commands in another language, browse iTunes’s package contents,
|
||||
# open `Contents/Resources/your-language.lproj/Localizable.strings`, and look
|
||||
# for `kHiddenMenuItemTargetSearch`.
|
||||
defaults write com.apple.iTunes NSUserKeyEquivalents -dict-add "Target Search Field" "@F"
|
||||
|
||||
###############################################################################
|
||||
# Terminal #
|
||||
###############################################################################
|
||||
|
||||
# Only use UTF-8 in Terminal.app
|
||||
defaults write com.apple.terminal StringEncodings -array 4
|
||||
|
||||
# Use a modified version of the Pro theme by default in Terminal.app
|
||||
open "$HOME/dotfiles/color/Solarized Dark.terminal"
|
||||
sleep 1 # Wait a bit to make sure the theme is loaded
|
||||
defaults write com.apple.terminal "Default Window Settings" -string "Solarized Dark"
|
||||
defaults write com.apple.terminal "Startup Window Settings" -string "Solarized Dark"
|
||||
|
||||
# Enable “focus follows mouse” for Terminal.app and all X11 apps
|
||||
# i.e. hover over a window and start typing in it without clicking first
|
||||
#defaults write com.apple.terminal FocusFollowsMouse -bool true
|
||||
#defaults write org.x.X11 wm_ffm -bool true
|
||||
|
||||
###############################################################################
|
||||
# Time Machine #
|
||||
###############################################################################
|
||||
|
||||
# Prevent Time Machine from prompting to use new hard drives as backup volume
|
||||
defaults write com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true
|
||||
|
||||
# Disable local Time Machine backups
|
||||
hash tmutil &> /dev/null && sudo tmutil disablelocal
|
||||
|
||||
###############################################################################
|
||||
# Address Book, Dashboard, iCal, TextEdit, and Disk Utility #
|
||||
###############################################################################
|
||||
|
||||
# Enable the debug menu in Address Book
|
||||
#defaults write com.apple.addressbook ABShowDebugMenu -bool true
|
||||
|
||||
# Enable Dashboard dev mode (allows keeping widgets on the desktop)
|
||||
#defaults write com.apple.dashboard devmode -bool true
|
||||
|
||||
# Enable the debug menu in iCal (pre-10.8)
|
||||
#defaults write com.apple.iCal IncludeDebugMenu -bool true
|
||||
|
||||
# Use plain text mode for new TextEdit documents
|
||||
defaults write com.apple.TextEdit RichText -int 0
|
||||
# Open and save files as UTF-8 in TextEdit
|
||||
defaults write com.apple.TextEdit PlainTextEncoding -int 4
|
||||
defaults write com.apple.TextEdit PlainTextEncodingForWrite -int 4
|
||||
|
||||
# Enable the debug menu in Disk Utility
|
||||
#defaults write com.apple.DiskUtility DUDebugMenuEnabled -bool true
|
||||
#defaults write com.apple.DiskUtility advanced-image-options -bool true
|
||||
|
||||
###############################################################################
|
||||
# Google Chrome & Google Chrome Canary #
|
||||
###############################################################################
|
||||
|
||||
# Allow installing user scripts via GitHub or Userscripts.org
|
||||
defaults write com.google.Chrome ExtensionInstallSources -array "https://*.github.com/*" "http://userscripts.org/*"
|
||||
defaults write com.google.Chrome.canary ExtensionInstallSources -array "https://*.github.com/*" "http://userscripts.org/*"
|
||||
|
||||
###############################################################################
|
||||
# Sublime Text 2 #
|
||||
###############################################################################
|
||||
|
||||
# Link Sublime Text 2 command line
|
||||
ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl
|
||||
|
||||
###############################################################################
|
||||
# Kill affected applications #
|
||||
###############################################################################
|
||||
|
||||
for app in "Address Book" "Calendar" "Contacts" "Dashboard" "Dock" "Finder" \
|
||||
"Mail" "Safari" "SizeUp" "SystemUIServer" "Terminal" "Transmission" \
|
||||
"Twitter" "iCal" "iTunes"; do
|
||||
killall "$app" > /dev/null 2>&1
|
||||
done
|
||||
echo "Done. Note that some of these changes require a logout/restart to take effect."
|
Loading…
Reference in New Issue
Block a user