MacOS Setup
I have recently moved between a few macOS machines and have had to repeat some common development configuration. I think it’s best to document it here for both my future self and for others. Most of these are easy to install using brew.
Editors
emacs:brew tap "d12frosted/emacs-plus" && brew install emacs-plusvisual-studio-code: all config is auto-synced using GitHub.vim: I just use Tim Pope’s sensible as I don’t spend as much time on vim anymore
Fonts
After brew tap "homebrew/cask-fonts"
font-mononokifor Agdafont-fira-codefor everything else
Packages
See https://github.com/k4rtik/shallow-backup/tree/master/packages (private link) for complete list. Here are some essentials:
brave-browserbrew cu:brew tap buo/cask-upgrade && brew cu pin brave-browserghgithiddenbarhtophugoiterm2mailtrackerblockerrectanglerescuetimetickticktree- yt-dlp:
brew install yt-dlp/taps/yt-dlp zoom
Languages
- Haskell
- Agda (
brew install llvm@12, add it to the PATH, and thencabal install Agda) - LaTeX
- OCaml and Coq (
opam install coq) - Python3:
brew install python - Rust
tealdeercargo-updatedu-dustripgrep
Maintenance
I often issue the following command to keep most of the packages updated:
brewup && rustup update && cargo install-update -a && brew cu -a -y && tlmgr update --self --all && ghcup list -c available
where brewup is aliased to brew update; brew upgrade; brew cleanup; brew doctor
I tend to not auto-update opam packages as they can often break projects but I do maintain a default switch with the latest OCaml version and several coq-platform releases, e.g.:
❯ opam switch
# switch compiler description
→ __coq-platform.2021.11.0~8.14~2021.11 ocaml-base-compiler.4.10.2 __coq-platform.2021.11.0~8.14~2021.11
default ocaml.4.12.1 default