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
|
## Resources
|
||||||
|
|
||||||
[Mathias’s dotfiles](https://github.com/mathiasbynens/dotfiles)
|
[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 :-)
|
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
|
# NPM
|
||||||
alias npm-patch='npm version patch -m "Version %s"'
|
alias npm-patch='npm version patch -m "%s"'
|
||||||
alias npm-release='npm version minor -m "Version %s"'
|
alias npm-release='npm version minor -m "%s"'
|
||||||
|
|
||||||
# Grunt
|
# Grunt
|
||||||
alias gw="grunt watch --debug"
|
alias gw="grunt watch --debug"
|
||||||
ginit() { grunt init:$@ ;}
|
ginit() { grunt init:$@ ;}
|
||||||
|
|
||||||
# Convert line endings to UNIX
|
# Load external aliases
|
||||||
alias dos2unix="perl -pi -e 's/\r\n?/\n/g' "
|
source ~/dotfiles/includes/root.sh
|
||||||
|
|
||||||
# Tools
|
|
||||||
source ~/dotfiles/tools/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
|
# Don't put duplicate lines in the history
|
||||||
export HISTCONTROL=ignoreboth,erasedups
|
export HISTCONTROL=ignoreboth:erasedups
|
||||||
|
|
||||||
# Set history length
|
# Set history length
|
||||||
HISTFILESIZE=1000000000
|
HISTFILESIZE=1000000000
|
||||||
HISTSIZE=1000000
|
HISTSIZE=1000000
|
||||||
|
|
||||||
|
|
||||||
# Append to the history file, don't overwrite it
|
# Append to the history file, don't overwrite it
|
||||||
shopt -s histappend
|
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
|
shopt -s checkwinsize
|
||||||
# Autocorrect typos in path names when using `cd`
|
# Autocorrect typos in path names when using `cd`
|
||||||
shopt -s cdspell
|
shopt -s cdspell
|
||||||
# Save all lines of a multiple-line command in the same history entry (allows easy re-editing of multi-line commands)
|
# Save all lines of a multiple-line command in the same history entry (allows easy re-editing of multi-line commands)
|
||||||
shopt -s cmdhist
|
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:
|
# Enable some Bash 4 features when possible:
|
||||||
# * `autocd`, e.g. `**/qux` will enter `./foo/bar/baz/qux`
|
# * `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
|
shopt -s "$option" 2> /dev/null
|
||||||
done
|
done
|
||||||
|
|
||||||
# Setup color variables
|
# Locale
|
||||||
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
|
|
||||||
|
|
||||||
export LC_ALL=en_US.UTF-8
|
export LC_ALL=en_US.UTF-8
|
||||||
export LANG="en_US"
|
export LANG="en_US"
|
||||||
|
|
||||||
# Add `~/bin` to the `$PATH`
|
# Add `~/bin` to the `$PATH`
|
||||||
export PATH="$HOME/bin:/usr/local/bin:$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
|
# Tell ls to be colourful
|
||||||
export CLICOLOR=1
|
export CLICOLOR=1
|
||||||
|
|
||||||
# Tell grep to highlight matches
|
# Tell grep to highlight matches
|
||||||
export GREP_OPTIONS='--color=auto'
|
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."
|
2
sync.py
2
sync.py
@ -9,7 +9,7 @@ Source: https://gist.github.com/490016
|
|||||||
import os
|
import os
|
||||||
import glob
|
import glob
|
||||||
|
|
||||||
EXCLUDE = ['tools', 'sync.py', 'Readme.md']
|
EXCLUDE = ['tools', 'color', 'sync.py', 'Readme.md']
|
||||||
NO_DOT_PREFIX = ['bin']
|
NO_DOT_PREFIX = ['bin']
|
||||||
|
|
||||||
def force_remove(path):
|
def force_remove(path):
|
||||||
|
Loading…
Reference in New Issue
Block a user