I spent way too many hours on my first hackintosh. Not because the hardware was weird — it was a ThinkPad T480s, one of the most documented hackintosh laptops out there. I spent the time hunting down kexts, figuring out which SSDTs I needed, hand-editing config.plist, and praying I didn't miss a quirk.
Then I did it again on a second machine. And a third.
So I built HackMate — a tool that automates the entire OpenCore USB creation process from a single command.
What it does
HackMate scans your hardware and handles everything:
- Detects your CPU, GPU, audio codec, ethernet, WiFi, touchpad, NVMe, and Thunderbolt
- Picks the correct kexts for your exact hardware (from GitHub releases, always latest)
- Generates SSDTs from your actual DSDT using SSDTTime
- Creates a proper SMBIOS (serial, MLB, UUID, ROM)
- Builds a complete config.plist with the right quirks
- Downloads the latest OpenCore release
- Downloads macOS recovery directly from Apple
- Formats your USB and writes everything to it
The whole process takes about 5-10 minutes and requires zero manual config.plist editing.
Demo
Supported hardware
CPU generations: Sandy Bridge through Raptor Lake (Intel 2nd–13th gen) + AMD Ryzen/Threadripper
macOS versions: Ventura, Sonoma, Sequoia, Tahoe (macOS 16)
Host OS: Linux, Windows (single EXE, no Python needed), macOS
How it's built
HackMate is written in Python using Textual for the TUI. It wraps:
- macrecovery (from OpenCorePkg) for downloading macOS recovery
- SSDTTime (CorpNewt) for SSDT generation
- OpenCorePkg releases from GitHub
- GitHub releases API for kext downloads
The Windows EXE is built via GitHub Actions using PyInstaller — no Python install needed on Windows.
The problems it solves
Every time I followed the Dortania guide manually, I'd hit the same friction points:
- Kext version hunting — which version of Lilu works with this version of WhateverGreen? HackMate always grabs the latest compatible releases.
- SSDT generation — running SSDTTime manually, moving files around, compiling. HackMate does it in-place.
- config.plist quirks — getting the right combination of Booter, Kernel, and UEFI quirks for your specific CPU generation is error-prone. HackMate generates it from a template tuned per CPU generation.
- SMBIOS — generating valid serial numbers and MLB values by hand is tedious. HackMate generates a complete SMBIOS automatically.
Post-install: USB port mapping
One thing most guides skip: USB port mapping. macOS limits you to 15 USB ports, and without a proper map, things break randomly.
HackMate bundles USBToolBox.kext + a placeholder UTBMap.kext in every EFI. After install, run the USBToolBox app (also downloaded automatically to EFI/HackMate-Extras/) to generate your map, then use HackMate's USB Mapping screen to replace the placeholder.
Getting started
git clone https://github.com/riftaway7-code/hackmate.git
cd hackmate
python3 setup.py
sudo .venv/bin/python3 src/hackmate.py
Windows: download HackMate.exe from the releases page and run as Administrator.
The project is open source and actively maintained. If your hardware isn't detected correctly or you hit a bug, open an issue — I want it to work for as many machines as possible.

Top comments (0)