/dotfiles

dotfiles to provision a new macOS with cosy dev setups

Primary LanguageLua

dotfiles

GitHub CI platform

Introduction

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.

Bootstrap

$ 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

Project Layout

  • 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.

Dev Setups

Terminal & Shell

  • 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 zsh, oh-my-zsh and setup .zshrc
  • Setup Alacritty
  • Setup tmux
  • Setup Neovim

Git

  • Git global config
  • Git work config

Ruby

  • Setup .gemrc
  • Setup bundler's mirror: bundle config mirror.https://rubygems.org https://gems.ruby-china.com if you locate in China mainland

VSCode

  • Create code SymLink: sudo ln -s /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code ~/Applications/code
  • Install Setting Sync extensions and then sync settings

File Sync

  • 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 ...)

Karabiner

  • Setup karabiner.json

macOS Setups

Trackpad

  • Tap to click
  • Seconary click: Click in bottom right corner

Control Center

Battery

  • Show Battery in Control Center
  • Show percentage

Time

  • Set time zone automatically using current location
  • Use a 24-hour clock and show date

Siri

  • Disable Siri system wide and remove Siri button from Touch Bar

Finder

  • New Finder show Desktop
  • Remove labels and clean up Sidebar

Dock

  • 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";}'

Optional Setups

bash