Contains macOS configuration files for various apps and instructions for setting up a new Mac.
- Preparation
- General
- macOS
- Bash-it
- Alfred
- NodeJS
- Ruby
- Git
- VS Code
- Spacemacs
- MacVIM
- iOS Development
- Android Development
- PHP Development
- Ansible
- Browsers
- iTerm2
- Fluid
- Others
- References
-
Update everything that is available in the App Store
-
Install Xcode
-
Install Homebrew
-
Clone this repo to a local dir (e.g.
~/.files
).git clone [email protected]:shiki/dotfiles.git ~/.files
brew tap homebrew/cask
brew install dropbox google-chrome spotify slack firefox notion clockify zoom krisp
brew install iterm2 macvim visual-studio-code
brew install sequel-ace psequel postgresql
brew install alfred appcleaner caffeine marta keepassxc omnidisksweeper rectangle espanso
brew install adobe-acrobat-reader handbrake
brew install homebrew/cask-versions/google-chrome-canary
brew install git git-crypt lnav tree wget gh
brew install proxyman
# Install JuliaMono Typeface (https://juliamono.netlify.app/)
brew tap homebrew/cask-fonts
brew install --cask font-juliamono
These aren't installed through Homebrew
- LastPass
- Things
- Monosnap
- Paragon NTFS
- Little Snitch
- GPG Suite
- GIF Brewery
- Additional Tools for Xcode. Includes Network Link Conditioner.
- Timelane
- Core Data Lab
# Always show hidden files
defaults write -g AppleShowAllFiles -bool true
# Enable full keyboard access for all controls
# (e.g. enable Tab in modal dialogs)
defaults write NSGlobalDomain AppleKeyboardUIMode -int 3
Set the Turn Do Not Disturb On/Off keyboard shortcut to ⌃⌥⇧⌘D.
-
Install Bash it
-
Symlink
dotfiles/.bash_profile
to~/.bash_profile
ln -s ~/.files/.bash_profile ~/.bash_profile
-
Restart Terminal or iTerm2
-
Enable plugins, aliases, and completions
$ bash-it enable plugin git autojump edit-mode-vi history $ bash-it enable alias git $ bash-it enable completion npm git docker docker-compose docker-machine bundler
-
Install ohmyzsh
-
Install dependencies
brew install zoxide fzf
-
Symlink
dotfiles/.zshrc
to~/.zshrc
ln -s ~/.files/.zshrc ~/.zshrc
Follow the instructions in Sync your Alfred settings between Macs to synchronize the settings using Dropbox.
These workflows should be automatically installed:
- Convert
- Encode/Decode
- DevDocs
- Faker
- Github
- IP Address
- Kill Process
- Pomodoro
- Spotify Mini Player
- Stack Overflow
- Terminal-Finder
- TimeZones
- UUID Generator
Symlink dotfiles/espanso
to the path defined by the espanso path config
command.
symlink_target=$(espanso path config) && rm -rf "$symlink_target" && ln -sf ~/.files/espanso "$symlink_target"
-
Install nvm.
-
Install the latest Node version.
nvm intall node
-
Install
rbenv
brew install rbenv
-
Install the latest Ruby version.
# List all available versions rbenv install -l # Install rbenv install <version>
-
Set it as the global version.
rbenv global <version>
-
Install global Ruby packages.
gem install bundler cocoapods
-
Prepare Cocoapods repo. This usually takes a long time.
pod setup
$ git config --global user.name "Shiki"
$ git config --global user.email "[email protected]"
VS Code settings are synchronized using the built-in Settings Sync. Turn the Settings Sync on and log in using GitHub.
Disable press and hold so that VS Code will repeat any key that is being held:
defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false
-
Install Emacs using emacs-mac.
-
Install Emacs-plus.
-
Install Source Code Pro fonts.
-
Follow instructions in here to install Spacemacs.
-
Install other dependencies.
brew install pandoc
-
Symlink
.spacemacs
$ mv .spacemacs .spacemacs.bak $ ln -s .files/spacemacs/.spacemacs .spacemacs
-
Symlink
.vim
$ ln -s ~/.files/vim/vim.symlink ~/.vim
-
Install Vundle. Follow all instructions until the
:PluginInstall
has been executed -
Symlink
.vimrc
$ rm ~/.vimrc $ ln -s ~/.files/vim/vimrc.symlink ~/.vimrc
-
In MacVIM, run
:PluginInstall
to install all plugins. This instructs the Vundle package to install all the other packages managed by it. -
The VIM config uses DejaVu Sans Mono for Powerline. For VIM to use this font in the terminal, make sure to set this font as the default font in the Terminal or iTerm2.
- Install the XVim2 plugin.
- Install the custom keybindings.
- Symlink
XVim.idekeybindings.symlink
ln -s ~/.files/xcode/KeyBindings/XVim.idekeybindings.symlink ~/Library/Developer/Xcode/UserData/KeyBindings/XVim.idekeybindings
- Enable the keybinding in XCode → Preferences → Key Bindings
- Symlink
- Symlink the
.xvimrc
ln -s ~/.files/xcode/.xvimrc ~/.xvimrc
Install AppCode via Homebrew:
$ brew cask install appcode
AppCode settings are synchronized using a git repo.
- Follow the instructions in Share settings through a settings repository.
- Use the
appcode-settings
Github repo.
brew install simsim swiftformat
Install Android Studio via Homebrew:
brew install android-studio
Android Studio settings are synchronized using a git repo.
- Follow the instructions in Share settings through a settings repository.
- Use the
android-studio-settings
Github repo.
brew install scrcpy
Settings are synchronized using IDE settings sync using my Jetbrains account.
Install pyenv.
brew install ansible
brew install --cask temurin
brew install intellij-idea
Install these extensions.
- LastPass
- Markdown Here
- Copy as Markdown
- Vimium
- Momentum
- DuckDuckGo Privacy Essentials
- Url Shortener
- uBlock Origin
- Git.io URL Shortener
Install these extensions.
Install themes from http://iterm2colorschemes.com/
- Flatland
- Dracula
- Hardcore
- Japanesque
- Space Grey Eighties Dull
- Change the default DNS
- Add a Quick Action to convert HEIC to JPEG
- Enable zoom by checking Settings → Accessibility → Zoom → Use scroll gesture with modifier keys to zoom