⚙️ Automatic configuration for my Mac.
ℹ️ Blog post about moving to macOS after ten years of Linux.
Automatic installation is based upon the following Ansible roles:
- geerlingguy.homebrew manages homebrew installation and packages
- geerlingguy.mas manages apps from the app store
- ansible-role-binaries installs binaries
- ansible-role-shell configures my shell
- ansible-role-pip installs pip packages
Also kudos to Jeff Geerling for his work with mac-dev-playbook which obviously influenced my setup.
Bootstrap your system to be able to run Ansible:
xcode-select --install
export PATH=$PATH:$HOME/Library/Python/3.8/bin:/opt/homebrew/bin
pip3 install --upgrade pip
pip3 install --user ansible
Run Ansible with the provided Makefile:
make install
to download required ansible rolesmake configure
to runansible-playbook
(sudo password required)
Some apps need to be installed manually
- Download TinkerTool for some extra tweaks
- Download bartender for a clean bar
- Download Minbrowser - a clean browser without any distractions (fix permissions with
xattr -cr /Applications/Min.app
) - Download Forklift3 - a finder alternative and replacement
- Download CleanShot X - a screen recording tool
- Chromium cask not working as expected -> download manually and run
xattr -cr /Applications/Chromium.app
- Download and install FastRAWViewer
- Download and install a patched font for your terminal
- Download and install BetterDisplay
Configuration is mainly done via my dotfiles repo and a private dotfiles repo that contains a script that does the symlinking (via rcm)
defaults write -g NSFileViewer -string com.binarynights.ForkLift-3;
defaults write com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers -array-add '{LSHandlerContentType="public.folder";LSHandlerRoleAll="com.binarynights.ForkLift-3";}'