A personal configuration toolkit for quickly provisioning a new Apple Silicon Mac with preferred tools, dotfiles, apps, and macOS defaults.
Everything runs through a single idempotent installer script — safe to re-run anytime.
git clone https://github.com/sevmorris/mrk1.git ~/mrk1If the Xcode Command Line Tools are missing, the installer will prompt to install them.
cd ~/mrk1
make fix-exec && make install
make fix-execensuresscripts/install(and other helpers) are executable after a fresh clone.
chmod +x ~/mrk1/scripts/install
cd ~/mrk1/scripts && ./install/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/sevmorris/mrk1/main/scripts/install)"
⚠️ Reviewscripts/installbefore running remote code.
- Xcode Tools – Ensures CLI developer tools are present.
- Homebrew – Installs if missing and updates shell paths.
- Core Tools – Installs essentials via Brewfile:
iterm2,pulsar,git,gh,zsh,coreutils,topgrade,bat,pwgen, etc. - Oh My Zsh – Installs and configures shell environment.
- Zsh Plugins – Adds
zsh-syntax-highlightingandzsh-autosuggestions. - Dotfiles – Links
.zshrc,.zshenv,.zprofile,.aliases, and configs (e.g.topgrade.toml). - Default Shell – Sets Homebrew Zsh as login shell.
- macOS Defaults – Applies custom system settings via
scripts/defaults.sh. - Apps – Installs all CLI, cask, and Mac App Store apps from your Brewfile (one confirmation prompt).
Edit these before or after running:
dotfiles/— Shell and Zsh configurationassets/Brewfile— Packages and appsscripts/defaults.sh— macOS preference tweaksscripts/— Helper scripts linked into~/.local/bin
The installer is idempotent: safe to run anytime.
Existing components are updated, not reinstalled.
To revert:
- Delete linked dotfiles (
.zshrc,.aliases, etc.) - Remove symlinks from
~/.local/bin - Uninstall apps with
brew uninstallorbrew bundle cleanup - Reset macOS defaults with
defaults delete
- macOS 13 (Ventura) or newer
- Apple Silicon Mac
- Internet access
- Basic Terminal familiarity
Use make help for all targets.
Key ones:
| Command | Description |
|---|---|
make bootstrap |
Run full setup (brew → dotfiles → tools → defaults → doctor) |
make doctor |
Run health checks |
make dotfiles |
Link dotfiles into $HOME |
make tools |
Link executables into ~/.local/bin |
make defaults |
Apply macOS defaults |
make brew-install |
Apply Brewfile installs |
make brew-clean |
Cleanup and autoremove |
make lint / make format / make fix |
ShellCheck + shfmt validation |
make ci |
Combined lint/format check |
A safe macOS maintenance utility (similar to Onyx).
Cleans caches, resets indexes, and can run full “tune-ups.”
Run: mrk1-maint --menu or call a task directly (e.g. mrk1-maint clean-caches)
Add this shell function for convenience:
maint() { command mrk1-maint "$@"; }- Close apps first; some tasks restart Finder/Dock.
- May prompt for
sudo. - System may rebuild caches afterward (temporary slowdown).
Core: disk verify, periodic scripts, Spotlight rebuild, DNS flush, Launch Services reset, cache clears, log trimming, permissions repair.
App-Specific: cache cleanup for Chrome, Firefox, Logic Pro, Final Cut Pro, Premiere, After Effects, etc.
Presets:
clean-caches— full cache cleanuppreset-browsers— browsers + DNSpreset-editing— DAW/video cache resetfull-tuneup— comprehensive maintenance flow
make fix-exec && make install
make defaultsRun via make or directly from scripts/:
| Command | Description |
|---|---|
make fix-exec |
Ensure all scripts are executable |
make install |
Run main installer |
make defaults |
Apply macOS defaults |
make uninstall |
Run uninstaller if present |
You can also run any executable under scripts/ directly:
make doctor
make syncall
make bootstrap
make mrk1-maint
make brew-cleanupmake uninstallRun the full flow or specific steps:
make bootstrap-brew # Homebrew bundle only
make bootstrap-dotfiles # Link dotfiles
make bootstrap-tools # Link scripts
make bootstrap-defaults # Apply macOS defaults
make bootstrap-doctor # Run doctor
make bootstrap-help # Show help