/mac-setup

Automation scripts for my dotfiles, packages, preferences and more.

Primary LanguageShellMIT LicenseMIT

MacOS automated setup


Opinionated automation shell scripts to set up macOS.

  • Installs Homebrew.
  • Restores current backup:
    • Symlinks dotfiles from the repo to the home folder (.config folder, .zshrc).
    • Installs packages listed in a Brewfile using Homebrew.
  • Changes some macOS default preferences; see full list here.
  • Creates a blank Firefox profile with Betterfox's user.js.

Screenshots

Note

I don't update these often, so they may be out of date.

Wezterm and Neovim

Wezterm and Neovim

Instructions

To make this work for you, clone the repo, follow the instructions to update the backup then sync your changes with your repo. Make sure to replace the URL from the Automatic Setup section.

Caution

This is just an example, do not run this unless you want all my dotfiles and preferences. Make sure to backup your current dotfiles first.

Check dependencies:

git -v

Automatic setup:

mkdir ~/Developer
git clone https://github.com/Jaycedam/mac-setup.git ~/Developer/mac-setup
cd ~/Developer/mac-setup && sh main.sh

Update the backup:

Run these from the project directory.

Delete previous backup:

rm -rf dotfiles/*

To update the backup to your own, just run 'backup.sh'. This will move your dotfiles (.zshrc and .config folder) to the project directory and create symlinks to your home folder. It will also back up all the brew packages into a Brewfile (homebrew must already be installed).

Now all your dotfiles will be managed from the mac-setup folder, so you only need to run backup.sh again when you want to back up your new brew packages or if you modify the dotfiles list.

Manual settings

Some settings must be changed manually due to API limitation or lack of Apple documentation. Check this issue for more details.

Credit