A streamlined setup for macOS, featuring automated package installation using GNU Make and configuration management using GNU Stow and custom shell scripts.
On a fresh macOS installation, you must first install the Xcode Command Line Tools to enable essential utilities like git and make.
sudo softwareupdate -i -a
xcode-select --installYou can set everything up automatically via a remote script or handle the process manually.
This method automatically clones the repository to ~/.dotfiles and triggers the installation script. (Only use this installation method if you don't want to customize the installation script environment variables).
bash -c "`curl -fsSL https://raw.githubusercontent.com/thijserven/dotfiles/main/remote-install.sh`"If you want to change the installation script environment variables or make other customizations before installing, it's recommended to do a manual installation.
git clone https://github.com/thijserven/dotfiles.git ~/.dotfilesChange the installation script environment variables inside ./make.env to your desired values.
cd ~/.dotfiles
makeBrave policy setup now supports both forced extensions and managed bookmarks.
- Edit install/Bravefile to control forced extensions.
- Edit install/Bookmarkfile to control managed bookmarks.
- Bravefile line format is
Name|ExtensionID(comments and empty lines are ignored). - Bookmark line format is
Name|URL(comments and empty lines are ignored). - Nested folders are supported with
Folder > Subfolder > Name|URL.
When make runs, it generates a macOS Configuration Profile and opens System Settings so you can install/update the Brave policy.
Mac App Store app installs are managed separately through mas.
- Edit install/Masfile to control App Store installs.
- Masfile line format is
Name|AppStoreID(comments and empty lines are ignored).
When make runs, the mas step installs any missing apps from the Masfile.
To ensure all shell changes, environment variables, and system preferences take effect:
- Restart your Terminal to finalize the terminal changes.
- Log out and back in to your macOS user account the finalize the system-level changes.
This project was inspired by webpro/dotfiles.