.files and macOS setup
Contains macOS configuration files for various apps and instructions for setting up a new Mac.
Table of Contents
- 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
Preparation
-
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 git@github.com:shiki/dotfiles.git ~/.files
General
Homebrew Packages
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
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
Others
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
macOS
# 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
Keyboard Shortcuts
Set the Turn Do Not Disturb On/Off keyboard shortcut to ⌃⌥⇧⌘D.
Bash-it
-
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
Oh My Zsh!
-
Install ohmyzsh
-
Install dependencies
brew install zoxide fzf
-
Symlink
dotfiles/.zshrc
to~/.zshrc
ln -s ~/.files/.zshrc ~/.zshrc
Alfred
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
NodeJS
-
Install nvm.
-
Install the latest Node version.
nvm intall node
Ruby
-
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
$ git config --global user.name "Shiki"
$ git config --global user.email "jayson@basanes.net"
VS Code
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
Spacemacs
-
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
MacVIM
-
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.
iOS Development
Xcode
- 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
AppCode
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.
iOS Dev Tools
brew install simsim swiftformat
Android Development
Android Studio
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.
Android Dev Tools
brew install scrcpy
PHP Development
Settings are synchronized using IDE settings sync using my Jetbrains account.
Ansible
Install pyenv.
brew install ansible
Java
brew install --cask temurin
brew install intellij-idea
Browsers
Chrome
Install these extensions.
- LastPass
- Markdown Here
- Copy as Markdown
- Vimium
- Momentum
- DuckDuckGo Privacy Essentials
- Url Shortener
- uBlock Origin
- Git.io URL Shortener
Firefox
Install these extensions.
iTerm2
Install themes from http://iterm2colorschemes.com/
- Flatland
- Dracula
- Hardcore
- Japanesque
- Space Grey Eighties Dull
Others
- 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