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 ~/mrk1
If the Xcode Command Line Tools are missing, the installer will prompt to install them.
cd ~/mrk1
make fix-exec && make install
make fix-exec
ensuresscripts/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/install
before 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-highlighting
andzsh-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 uninstall
orbrew 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 defaults
Run 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-cleanup
make uninstall
Run 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