This is a dotfiles project which may be used to provision a new macOS with cosy dev setups.
And it is tested with GitHub Actions CI. The checkbox denotes whether it is done by bootstrap.
More screenshots here.
Inspired by KrauseFx/new-mac.
For Arch Linux, please refer to crispgm/arch-linux-dotfiles.
$ xcode-select --install # or download here <https://developer.apple.com/download/more/>
$ git clone --recursive https://github.com/crispgm/dotfiles.git
# Login to AppStore with Apple ID, since there are MAS apps in Brewfile
$ cd dotfiles
$ ./bootstrap./bootstrap 会执行 brew bundle 安装 Brewfile 中的软件;Neovim 的 nvim-auto-ime 依赖 macism,现已包含在该流程中。
bootstrap: entry point of dotfiles bootstrapping.Brewfile: all Homebrew formulae and casks managed by Homebrew Bundle.rc: dotfiles managed by rcm.app: customized boostrapping scripts for applications.
- Install Homebrew
- Setup Hostname
sudo scutil --set HostName david-macbook - Install softwares and fonts from Brewfile with
brew bundle. HINT: Login to AppStore at first. Some of the applications from Mac App Store may need purchase. - Install
fish, Fisher and setup modular fish config (config.fish+conf.d/+functions/) - Load Homebrew environment in fish via
brew shellenv fish - Setup SDKMAN with sdkman-for-fish plugin
- Keep bash on a shared loading chain:
.bash_profile->.profile+.bashrc - Setup tmux
- Setup Neovim
- Install
macismfor Neovim IME switching on macOS
- Git global config
- Git work config
- Setup
.gemrc - Setup bundler's mirror:
bundle config mirror.https://rubygems.org https://gems.ruby-china.comif you locate in China mainland
- Create
codeSymLink:sudo ln -s /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code ~/Applications/code - Install
Setting Syncextensions and then sync settings
- Install your favorite file sync service (e.g. Dropbox, Google Drive, One Drive ... I prefer Dropbox because it works with Alfred)
- Setup syncing folder for apps (e.g. Alfred, Dash ...)
- Setup
karabiner.json
- Tap to click
- Seconary click: Click in bottom right corner
- Show Battery in Control Center
- Show percentage
- Set time zone automatically using current location
- Use a 24-hour clock and show date
- Disable Siri system wide and remove Siri button from Touch Bar
- New Finder show Desktop
- Remove labels and clean up Sidebar
- Change to the size you like
- Cancel: Show recent application in Dock
- Downloads: View content as Grid
- Add blank seperator:
defaults write com.apple.dock persistent-apps -array-add '{tile-type="spacer-tile";}'
- Setup
.bash_profile,.profile,.bashrc - Keep SDKMAN initialization guarded for Bash 4+ only on macOS
