mirror of https://github.com/einverne/dotfiles.git
Ein Verne
4 years ago
committed by
GitHub
11 changed files with 628 additions and 14 deletions
@ -0,0 +1,13 @@ |
|||||||
|
name: build |
||||||
|
on: [push, pull_request] |
||||||
|
jobs: |
||||||
|
ci: |
||||||
|
name: bootstrap |
||||||
|
runs-on: macos-latest |
||||||
|
steps: |
||||||
|
- uses: actions/checkout@master |
||||||
|
- name: build |
||||||
|
env: |
||||||
|
CI_MODE: true |
||||||
|
run: bash ./bootstrap.sh |
||||||
|
|
@ -0,0 +1,116 @@ |
|||||||
|
tap "homebrew/cask", "https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git" |
||||||
|
tap "homebrew/cask-drivers", "https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask-drivers.git" |
||||||
|
tap "homebrew/cask-fonts", "https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask-fonts.git" |
||||||
|
tap "homebrew/core", "https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git" |
||||||
|
tap "homebrew/bundle" |
||||||
|
tap "homebrew/services" |
||||||
|
tap "homebrew/cask-versions" |
||||||
|
tap "adoptopenjdk/openjdk" |
||||||
|
|
||||||
|
# primitives |
||||||
|
# https://en.wikipedia.org/wiki/List_of_GNU_Core_Utilities_commands |
||||||
|
brew "coreutils" |
||||||
|
brew "git" |
||||||
|
brew "neovim" |
||||||
|
brew "zsh" |
||||||
|
brew "zsh-completions" |
||||||
|
brew "tmux" |
||||||
|
brew "gnupg" |
||||||
|
brew "gnupg2" |
||||||
|
brew "fzf" |
||||||
|
brew "hub" |
||||||
|
brew "tmux" |
||||||
|
brew "tree" |
||||||
|
brew "wget" |
||||||
|
|
||||||
|
# tools |
||||||
|
brew "mas" |
||||||
|
brew "p7zip" |
||||||
|
brew "dos2unix" |
||||||
|
brew "proxychains-ng" |
||||||
|
brew "htop" |
||||||
|
brew "neofetch" |
||||||
|
brew "syncthing" |
||||||
|
brew "[email protected]" |
||||||
|
brew "readline" |
||||||
|
brew "asdf" |
||||||
|
brew "[email protected]", link: true |
||||||
|
brew "cmake" |
||||||
|
brew "jenv" |
||||||
|
brew "node" |
||||||
|
brew "pyenv" |
||||||
|
brew "rbenv" |
||||||
|
brew "sqlite" |
||||||
|
brew "xz" |
||||||
|
brew "zlib" |
||||||
|
|
||||||
|
# productivity |
||||||
|
brew "exa" |
||||||
|
brew "fzf" |
||||||
|
brew "ripgrep" |
||||||
|
brew "fd" |
||||||
|
brew "hexyl" |
||||||
|
brew "xsv" |
||||||
|
brew "jq" |
||||||
|
brew "hledger" |
||||||
|
|
||||||
|
# dev |
||||||
|
brew "ruby" |
||||||
|
brew "go" |
||||||
|
brew "cmake" |
||||||
|
# brew "[email protected]" |
||||||
|
brew "sqlite" |
||||||
|
# brew "postgresql" |
||||||
|
brew "youtube-dl" |
||||||
|
# brew "heroku" |
||||||
|
brew "node" |
||||||
|
brew "yarn" |
||||||
|
# brew "wrk" |
||||||
|
|
||||||
|
if ENV.key? 'CI_MODE' |
||||||
|
cask "iterm2" |
||||||
|
cask "eudic" |
||||||
|
cask "java" |
||||||
|
cask "licecap" |
||||||
|
cask "nextcloud" |
||||||
|
# cask "1password" |
||||||
|
cask "alfred" |
||||||
|
cask "google-chrome" |
||||||
|
# cask "firefox-developer-edition" |
||||||
|
# cask "sublime-text" |
||||||
|
cask "visual-studio-code" |
||||||
|
cask "font-source-code-pro" |
||||||
|
cask "font-fira-code" |
||||||
|
cask "dash" |
||||||
|
cask "karabiner-elements" |
||||||
|
cask "dozer" |
||||||
|
cask "shadowsocksx-ng" |
||||||
|
cask "iina" |
||||||
|
cask "neteasemusic" |
||||||
|
# cask "qqmusic" |
||||||
|
cask "google-trends" |
||||||
|
cask "appcleaner" |
||||||
|
cask "oversight" |
||||||
|
# open broadcaster software |
||||||
|
cask "obs" |
||||||
|
# note-taking app |
||||||
|
cask "obsidian" |
||||||
|
# cask "dropbox" |
||||||
|
cask "nitroshare" |
||||||
|
cask "qmk-toolbox" |
||||||
|
cask "via" |
||||||
|
cask "vlc" |
||||||
|
|
||||||
|
mas "WeChat", id: 836500024 |
||||||
|
mas "Unsplash Wallpapers", id: 1284863847 |
||||||
|
mas "Microsoft ToDo", id: 1274495053 |
||||||
|
mas "Microsoft OneNote", id: 784801555 |
||||||
|
# mas "Bear", id: 1091189122 |
||||||
|
# mas "Lungo", id: 1263070803 |
||||||
|
mas "Pages", id: 409201541 |
||||||
|
mas "Numbers", id: 409203825 |
||||||
|
mas "Keynote", id: 409183694 |
||||||
|
end |
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,5 +1,11 @@ |
|||||||
dotfiles config contain vim, zsh, tmux configurations. |
dotfiles config contain vim, zsh, tmux configurations. |
||||||
|
|
||||||
|
## MacOS setup |
||||||
|
|
||||||
|
git clone [email protected]:einverne/dotfiles.git |
||||||
|
cd dotfiles |
||||||
|
bash bootstrap.sh |
||||||
|
|
||||||
## Overview |
## Overview |
||||||
|
|
||||||
- zsh |
- zsh |
||||||
|
@ -0,0 +1,77 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
# https://github.com/crispgm/dotfiles/blob/master/bootstrap |
||||||
|
|
||||||
|
set -e |
||||||
|
|
||||||
|
echo "Install Homebrew" |
||||||
|
if test ! $(which brew); then |
||||||
|
echo "Installing homebrew..." |
||||||
|
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
||||||
|
fi |
||||||
|
|
||||||
|
echo "Setup hostname" |
||||||
|
sudo scutil --set HostName mac |
||||||
|
|
||||||
|
echo "Install from brew.sh" |
||||||
|
bash brew.sh |
||||||
|
|
||||||
|
echo "Install with Brew Bundle" |
||||||
|
set +e |
||||||
|
brew bundle |
||||||
|
set -e |
||||||
|
|
||||||
|
echo "Setup workspace" |
||||||
|
mkdir -p ~/projects |
||||||
|
|
||||||
|
echo "Setup Git" |
||||||
|
ln -s ./git/work.gitconfig ~/projects/.gitconfig |
||||||
|
if [ -f $HOME/.gitconfig ]; then |
||||||
|
cat $HOME/.gitconfig |
||||||
|
mv $HOME/.gitconfig $HOME/.gitconfig.bak |
||||||
|
fi |
||||||
|
ln -s $PWD/git/global.gitconfig $HOME/.gitconfig |
||||||
|
|
||||||
|
# echo "Setup Bash" |
||||||
|
# sudo cp ./motd /etc/motd |
||||||
|
# cp ./bash/.bashrc ~/.bashrc |
||||||
|
# cp ./bash/.bash_profile ~/.bash_profile |
||||||
|
|
||||||
|
echo "Setup Zsh" |
||||||
|
sudo sh -c 'echo /usr/local/bin/zsh >> /etc/shells' |
||||||
|
sudo chsh -s $(which zsh) |
||||||
|
if [ -f ~/.zshrc ]; then |
||||||
|
cat ~/.zshrc |
||||||
|
mv ~/.zshrc ~/zshrc.bak |
||||||
|
fi |
||||||
|
ln -s $PWD/.zshrc $HOME/.zshrc |
||||||
|
|
||||||
|
echo "Setup Vim" |
||||||
|
ln -s $PWD/.vimrc $HOME/.vimrc |
||||||
|
|
||||||
|
echo "Setup Tmux" |
||||||
|
ln -s $PWD/tmux/.tmux.conf $HOME/.tmux.conf |
||||||
|
ln -s $PWD/tmux/.tmux.conf.local $HOME/.tmux.conf.local |
||||||
|
|
||||||
|
ls -al $HOME |
||||||
|
|
||||||
|
echo "Setup applications" |
||||||
|
echo "- fzf" |
||||||
|
$(brew --prefix)/opt/fzf/install |
||||||
|
# echo "- neovim" |
||||||
|
# ./neovim/neovim |
||||||
|
|
||||||
|
echo "Link editors" |
||||||
|
mkdir -p ~/Applications/ |
||||||
|
sudo ln -s /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code /usr/local/bin/code |
||||||
|
|
||||||
|
# echo "Setup Ruby" |
||||||
|
# ./ruby/ruby |
||||||
|
# |
||||||
|
# echo "Setup Go" |
||||||
|
# mkdir -p ~/go |
||||||
|
# |
||||||
|
# echo "Setup Shadowsocks" |
||||||
|
# ./Shadowsocks/init |
||||||
|
|
||||||
|
echo "Setup macOS defaults" |
||||||
|
bash init_mac.sh |
@ -0,0 +1,39 @@ |
|||||||
|
# https://github.com/mathiasbynens/dotfiles/blob/main/brew.sh |
||||||
|
brew update |
||||||
|
brew upgrade |
||||||
|
|
||||||
|
# https://en.wikipedia.org/wiki/List_of_GNU_Core_Utilities_commands |
||||||
|
brew install coreutils |
||||||
|
# Install GNU `find`, `locate`, `updatedb`, and `xargs`, `g`-prefixed. |
||||||
|
brew install findutils |
||||||
|
# Install GNU `sed`, overwriting the built-in `sed`. |
||||||
|
brew install gnu-sed --with-default-names |
||||||
|
|
||||||
|
# Install `wget` with IRI support. |
||||||
|
brew install wget --with-iri |
||||||
|
# Install GnuPG to enable PGP-signing commits. |
||||||
|
brew install gnupg |
||||||
|
|
||||||
|
# Install more recent versions of some macOS tools. |
||||||
|
brew install vim --with-override-system-vi |
||||||
|
brew install grep |
||||||
|
brew install openssh |
||||||
|
# GNU multiple precision arithmetic library |
||||||
|
brew install gmp |
||||||
|
|
||||||
|
# Install font tools. |
||||||
|
# brew tap bramstein/webfonttools |
||||||
|
# brew install sfnt2woff |
||||||
|
# brew install sfnt2woff-zopfli |
||||||
|
# brew install woff2 |
||||||
|
|
||||||
|
brew install ack |
||||||
|
brew install git |
||||||
|
brew install git-lfs |
||||||
|
brew install imagemagick --with-webp |
||||||
|
brew install p7zip |
||||||
|
brew install ssh-copy-id |
||||||
|
brew install tree |
||||||
|
|
||||||
|
# Remove outdated versions from the cellar. |
||||||
|
brew cleanup |
@ -1,12 +0,0 @@ |
|||||||
@rem Do not use "echo off" to not affect any child calls. |
|
||||||
@setlocal |
|
||||||
|
|
||||||
@rem Get the abolute path to the parent directory, which is assumed to be the |
|
||||||
@rem Git installation root. |
|
||||||
@for /F "delims=" %%I in ("%~dp0..") do @set git_install_root=%%~fI |
|
||||||
@set PATH=%git_install_root%\bin;%git_install_root%\mingw\bin;%PATH% |
|
||||||
|
|
||||||
@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH% |
|
||||||
@if not exist "%HOME%" @set HOME=%USERPROFILE% |
|
||||||
|
|
||||||
@curl.exe %* |
|
@ -0,0 +1,123 @@ |
|||||||
|
[user] |
||||||
|
email = [email protected] |
||||||
|
name = Ein Verne |
||||||
|
signingkey = 926634D64ACAD792 |
||||||
|
[push] |
||||||
|
default = matching |
||||||
|
[http] |
||||||
|
postBuffer = 524288000 |
||||||
|
[alias] |
||||||
|
unstage = reset HEAD -- |
||||||
|
a = add |
||||||
|
b = branch |
||||||
|
c = commit |
||||||
|
d = diff |
||||||
|
f = fetch |
||||||
|
g = grep |
||||||
|
l = log |
||||||
|
m = merge |
||||||
|
o = checkout |
||||||
|
p = pull |
||||||
|
r = remote |
||||||
|
s = status |
||||||
|
st = status |
||||||
|
w = whatchanged |
||||||
|
|
||||||
|
### commit ### |
||||||
|
ca = commit --amend |
||||||
|
|
||||||
|
### checkout ### |
||||||
|
co = checkout |
||||||
|
|
||||||
|
### cherry-pick ### |
||||||
|
|
||||||
|
### diff ### |
||||||
|
# diff - show changes not yet staged |
||||||
|
dc = diff --cache |
||||||
|
|
||||||
|
# diff - changes about to be commited |
||||||
|
ds = diff --staged |
||||||
|
|
||||||
|
### log ### |
||||||
|
# log key - our favorite way to show our key performance indicators, i.e. our most useful summary. |
||||||
|
lk = log --graph --topo-order --abbrev-commit --date=short --decorate --all --boundary --pretty=format:'%Cgreen%ad %Cred%h%Creset -%C(yellow)%d%Creset %s %Cblue[%cn]%Creset %Cblue%G?%Creset' |
||||||
|
|
||||||
|
### merge ### |
||||||
|
|
||||||
|
### pull ### |
||||||
|
# pull if a merge can be resolved as a fast-forward, otherwise fail. |
||||||
|
pf = pull --ff-only |
||||||
|
|
||||||
|
# pull with rebase - to provide a cleaner, linear, bisectable history. |
||||||
|
# |
||||||
|
# To integrate changes between branches, you can merge or rebase. |
||||||
|
# |
||||||
|
# When we use "git pull", git does a fetch then a merge. |
||||||
|
# If we've made changes locally and someone else has pushed changes |
||||||
|
# to our git host then git will automatically merge these together |
||||||
|
# and create a merge commit that looks like this in the history: |
||||||
|
# |
||||||
|
# 12345678 - Merge branch 'foo' of bar into master |
||||||
|
# |
||||||
|
# When we use "git pull --rebase", git does a fetch then a rebase. |
||||||
|
# A rebase resets the HEAD of your local branch to be the same as |
||||||
|
# the remote HEAD, then replays your local commits back into repo. |
||||||
|
# This means you don't get any noisy merge messages in your history. |
||||||
|
# This gives us a linear history, and also helps with git bisect. |
||||||
|
# |
||||||
|
# To automatically do "pull --rebase" for any branch based on master: |
||||||
|
# |
||||||
|
# git config branch.master.rebase true |
||||||
|
# |
||||||
|
# To automatically do "pull --rebase" for all branches: |
||||||
|
# |
||||||
|
# git config --global branch.autosetuprebase always |
||||||
|
# |
||||||
|
# pr = pull --rebase |
||||||
|
pr="!f() { \ |
||||||
|
BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD); \ |
||||||
|
git push -u origin $BRANCH_NAME; \ |
||||||
|
hub pull-request; \ |
||||||
|
};f " |
||||||
|
|
||||||
|
### rebase ### |
||||||
|
|
||||||
|
# rebase - forward-port local commits to the updated upstream head. |
||||||
|
rb = rebase |
||||||
|
|
||||||
|
# rebase - continue the rebasing process after resolving a conflict manually and updating the index with the resolution. |
||||||
|
rbc = rebase --continue |
||||||
|
|
||||||
|
# rebase - restart the rebasing process by skipping the current patch. |
||||||
|
rbs = rebase --skip |
||||||
|
|
||||||
|
### remote ### |
||||||
|
|
||||||
|
|
||||||
|
### tags ### |
||||||
|
lasttag = describe --tags --abbrev=0 |
||||||
|
tags = tag -n1 --list |
||||||
|
|
||||||
|
# Stash aliases |
||||||
|
save = stash save |
||||||
|
pop = stash pop |
||||||
|
|
||||||
|
[branch] |
||||||
|
autosetuprebase = always |
||||||
|
[core] |
||||||
|
editor = vim |
||||||
|
autocrlf = input |
||||||
|
quotepath = false |
||||||
|
[pull] |
||||||
|
rebase = true |
||||||
|
|
||||||
|
[merge] |
||||||
|
tool = meld |
||||||
|
conflictstyle = diff3 |
||||||
|
[mergetool "meld"] |
||||||
|
cmd = meld $LOCAL $BASE $REMOTE --output=$MERGED --auto-merge |
||||||
|
[gpg] |
||||||
|
program = gpg |
||||||
|
|
||||||
|
[includeIf "gitdir:~/projects/"] |
||||||
|
path = ~/projects/.gitconfig |
@ -0,0 +1,3 @@ |
|||||||
|
[user] |
||||||
|
name = Ein Verne |
||||||
|
email = [email protected] |
@ -0,0 +1,245 @@ |
|||||||
|
# https://github.com/mathiasbynens/dotfiles/blob/master/.macos |
||||||
|
# Disable Notification Center and remove the menu bar icon |
||||||
|
launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist 2> /dev/null |
||||||
|
# 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 |
||||||
|
# Open Desktop |
||||||
|
defaults write com.apple.finder NewWindowTargetPath -string "file://${HOME}/Desktop/" |
||||||
|
defaults write com.apple.finder ShowPathbar -bool true |
||||||
|
# Dock |
||||||
|
defaults write com.apple.dock tilesize -int 36 |
||||||
|
defaults write com.apple.dock show-process-indicators -bool true |
||||||
|
defaults write com.apple.dock minimize-to-application -bool true |
||||||
|
defaults write com.apple.dock show-recents -bool false |
||||||
|
# Terminal utf-8 |
||||||
|
defaults write com.apple.terminal StringEncodings -array 4 |
||||||
|
# Left corner to screensaver |
||||||
|
defaults write com.apple.dock wvous-bl-corner -int 5 |
||||||
|
# Avoid create DS_Store to USB |
||||||
|
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true |
||||||
|
defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true |
||||||
|
|
||||||
|
# Show all hidden files |
||||||
|
defaults write com.apple.finder AppleShowAllFiles ture |
||||||
|
|
||||||
|
############################################################################### |
||||||
|
# General UI/UX # |
||||||
|
############################################################################### |
||||||
|
|
||||||
|
# Enable transparency in the menu bar and elsewhere on Yosemite |
||||||
|
defaults write com.apple.universalaccess reduceTransparency -bool false |
||||||
|
|
||||||
|
# Always show scrollbars |
||||||
|
defaults write NSGlobalDomain AppleShowScrollBars -string "Always" |
||||||
|
# Possible values: `WhenScrolling`, `Automatic` and `Always` |
||||||
|
|
||||||
|
# Save to disk (not to iCloud) by default |
||||||
|
defaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool false |
||||||
|
|
||||||
|
# Disable the “Are you sure you want to open this application?” dialog |
||||||
|
defaults write com.apple.LaunchServices LSQuarantine -bool false |
||||||
|
|
||||||
|
############################################################################### |
||||||
|
# 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 |
||||||
|
|
||||||
|
# Enable full keyboard access for all controls |
||||||
|
# (e.g. enable Tab in modal dialogs) |
||||||
|
defaults write NSGlobalDomain AppleKeyboardUIMode -int 3 |
||||||
|
|
||||||
|
# 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 1 |
||||||
|
defaults write NSGlobalDomain InitialKeyRepeat -int 10 |
||||||
|
|
||||||
|
############################################################################### |
||||||
|
# Energy saving # |
||||||
|
############################################################################### |
||||||
|
|
||||||
|
|
||||||
|
# Sleep the display after 15 minutes |
||||||
|
sudo pmset -a displaysleep 15 |
||||||
|
|
||||||
|
# Disable machine sleep while charging |
||||||
|
sudo pmset -c sleep 0 |
||||||
|
|
||||||
|
# Set machine sleep to 5 minutes on battery |
||||||
|
sudo pmset -b sleep 5 |
||||||
|
|
||||||
|
# Set standby delay to 24 hours (default is 1 hour) |
||||||
|
sudo pmset -a standbydelay 86400 |
||||||
|
|
||||||
|
############################################################################### |
||||||
|
# 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 |
||||||
|
# Reference: https://github.com/kevinSuttle/macOS-Defaults/issues/17#issuecomment-266633501 |
||||||
|
defaults write NSGlobalDomain AppleFontSmoothing -int 1 |
||||||
|
|
||||||
|
# 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 |
||||||
|
|
||||||
|
# Set Desktop as the default location for new Finder windows |
||||||
|
# For other paths, use `PfLo` and `file:///full/path/here/` |
||||||
|
defaults write com.apple.finder NewWindowTarget -string "PfDe" |
||||||
|
defaults write com.apple.finder NewWindowTargetPath -string "file://${HOME}/Desktop/" |
||||||
|
|
||||||
|
# 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: show status bar |
||||||
|
defaults write com.apple.finder ShowStatusBar -bool true |
||||||
|
|
||||||
|
# Finder: show path bar |
||||||
|
defaults write com.apple.finder ShowPathbar -bool true |
||||||
|
|
||||||
|
# Display full POSIX path as Finder window title |
||||||
|
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true |
||||||
|
|
||||||
|
# Keep folders on top when sorting by name |
||||||
|
defaults write com.apple.finder _FXSortFoldersFirst -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 |
||||||
|
|
||||||
|
# Enable spring loading for directories |
||||||
|
defaults write NSGlobalDomain com.apple.springing.enabled -bool true |
||||||
|
|
||||||
|
# Remove the spring loading delay for directories |
||||||
|
defaults write NSGlobalDomain com.apple.springing.delay -float 0 |
||||||
|
|
||||||
|
# Avoid creating .DS_Store files on network or USB volumes |
||||||
|
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true |
||||||
|
defaults write com.apple.desktopservices DSDontWriteUSBStores -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 near 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 |
||||||
|
|
||||||
|
# Show item info to the right of the icons on the desktop |
||||||
|
/usr/libexec/PlistBuddy -c "Set DesktopViewSettings:IconViewSettings:labelOnBottom false" ~/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`, `glyv` |
||||||
|
defaults write com.apple.finder FXPreferredViewStyle -string "Nlsv" |
||||||
|
|
||||||
|
# Disable the warning before emptying the Trash |
||||||
|
defaults write com.apple.finder WarnOnEmptyTrash -bool false |
||||||
|
|
||||||
|
# Show the ~/Library folder |
||||||
|
chflags nohidden ~/Library && xattr -d com.apple.FinderInfo ~/Library |
||||||
|
|
||||||
|
# Show the /Volumes folder |
||||||
|
sudo chflags nohidden /Volumes |
||||||
|
|
||||||
|
|
||||||
|
############################################################################### |
||||||
|
# Dock, Dashboard, and hot corners # |
||||||
|
############################################################################### |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Hot corners |
||||||
|
# Possible values: |
||||||
|
# 0: no-op |
||||||
|
# 2: Mission Control |
||||||
|
# 3: Show application windows |
||||||
|
# 4: Desktop |
||||||
|
# 5: Start screen saver |
||||||
|
# 6: Disable screen saver |
||||||
|
# 7: Dashboard |
||||||
|
# 10: Put display to sleep |
||||||
|
# 11: Launchpad |
||||||
|
# 12: Notification Center |
||||||
|
# 13: Lock Screen |
||||||
|
# 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 11 |
||||||
|
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 4 |
||||||
|
defaults write com.apple.dock wvous-bl-modifier -int 0 |
Loading…
Reference in new issue