Skip to content

Jaycedam/mac-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MacOS Automated Setup

Opinionated automation shell scripts to set up macOS.

  • Installs Homebrew.
  • Restores the current backup:
    • Symlinks dotfiles from the repo to the home folder (.config/ and .zshrc).
    • Installs packages listed in a Brewfile using brew and mas (for App Store apps).
  • Changes some macOS default preferences; see the full list here.

Screenshots

I try to keep all my configs very minimal while maintaining all the features I need.

Note

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

Wezterm and Neovim

Wezterm and Neovim

Automated setup

Caution

This will overwrite your dotfiles. If you want to use this project with your own backup read this first.

Check dependencies:

git -v

Start:

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

Manual settings

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


How to use

If you want to use this project with your own dotfiles and configs, just follow these instructions:

Important

The path ~/Developer/mac-setup is expected by the script; it's used to generate symlinks and relative path operations.

  1. Fork the project then git clone (Replace USERNAME with yours):
git clone https://github.com/USERNAME/mac-setup.git ~/Developer/mac-setup
  1. Delete my backup:
cd ~/Developer/mac-setup && rm -rf dotfiles/*
  1. Back up your dotfiles and Brew packages. This moves your dotfiles to the project directory, then creates symlinks to $HOME. It will also back up your Brew packages into a Brewfile:
cd ~/Developer/mac-setup && sh backup.sh

Tip

If you install new Brew packages, just run backup.sh again to update the Brewfile.

  1. Make sure to change the USERNAME from the url in the automated setup section to yours. Then push the changes to your repo.

Credit