The idea
Take a Mac mini or Mac Studio, plug it into power and ethernet, and put it somewhere out of the way. A shelf, a closet, a drawer. You do not connect a monitor, keyboard, or mouse. Instead, you use Mirage to stream the entire desktop to whatever Apple device you have nearby, usually an iPad or another Mac.
The Mac stays on all the time, running whatever you need it to run. You connect when you need it, disconnect when you are done. Your desk stays clear because the computer is not on it.
Why bother
A few reasons come to mind.
First, desk space. A headless Mac takes up zero desk space because it is not on your desk. If you work from an iPad most of the time, you get a full macOS desktop on demand without any of the physical clutter that comes with a desktop computer setup.
Second, always-on tasks. A Mac mini draws about 5 watts at idle and runs silently. That makes it a solid home server, build machine, or media server that happens to also be a full Mac you can log into whenever you want. It is more capable than a Raspberry Pi and more convenient than keeping a laptop open on a shelf somewhere.
Third, cost. A Mac mini M4 with the M4 chip and 16 GB of unified memory starts at $599. That is a lot of computer for the price, especially since it does not need to power a built-in display or battery. You probably already own the screen — it is the iPad or MacBook in your bag.
What you need
The hardware list is short:
- A Mac mini M4 ($599) or Mac Studio if you need more GPU cores, storage, or the M4 Max/Ultra chips. Any Apple silicon Mac works, but the Mac mini is the best value for a headless setup.
- An ethernet cable to your router. Wi-Fi works too, but wired is more reliable for streaming and wake-on-LAN.
- Power. That is it.
You will also need a monitor, keyboard, and mouse for the initial setup. After that, they go back in the closet.
Test before you unplug
Before you disconnect the monitor, make sure you can connect from your client device, move the cursor, type, and play audio. Once you confirm everything works over Mirage, then unplug. If something goes wrong later, you can always reconnect a monitor temporarily to troubleshoot.
Initial setup
Connect a monitor, keyboard, and mouse to your Mac mini. Go through the normal macOS setup, then install Mirage Host. macOS will ask for screen recording and accessibility permissions — grant both. These are required for Mirage to capture the display and forward input.
Now open Mirage on your iPad or another Mac and connect to the Mac mini over your local network. Move the cursor around, open an app, make sure everything feels responsive. Once you are satisfied, unplug the monitor and put the Mac mini wherever you want it to live.
Virtual displays
When no physical monitor is connected, Mirage creates a virtual display at your client device's native resolution. If you connect from an iPad Pro, you get a crisp Retina image sized to that screen. The resolution adapts automatically each time you connect from a different device.
No dummy HDMI plugs needed. The virtual display behaves like a real one — apps see it as a normal screen, and everything renders at the correct scale.
Remote wake and unlock
If your Mac mini is asleep, Mirage can wake it using Wake-on-LAN. You tap connect in Mirage, it sends a wake packet over your local network, and the Mac comes up within a few seconds. For this to work, enable Wake for network access in System Settings > Energy Saver.
For the login screen, Mirage has a bootstrap daemon that runs before any user logs in. This means you can see and interact with the macOS login screen remotely, type your password, and get to your desktop. The bootstrap daemon is still experimental, but it works well in practice for headless setups where auto-login is not an option.
A few other settings worth enabling while you are in System Settings:
- System Settings > General > Login Items & Extensions > Allow in the Background: Make sure Mirage Host is listed.
- System Settings > Energy Saver > Start up automatically after a power failure: So the Mac comes back online after an outage.
- System Settings > Energy Saver > Prevent automatic sleeping when the display is off: Keeps the Mac awake and available.
Remote access with a VPN
On your local network, Mirage connects directly with no extra configuration. But if you want to reach your headless Mac from outside your home, you need a way for the two devices to find each other.
The simplest option is Tailscale. Install it on the Mac mini and on your client device, sign into the same Tailscale account on both, and they can reach each other from anywhere. Tailscale assigns each device a stable IP address and a MagicDNS hostname (like mac-mini.tail1234.ts.net). Add that address in Mirage as a manual host, and you can connect from a hotel, a coffee shop, or another country. The connection is encrypted and peer-to-peer. Tailscale's free tier covers personal use.
If you already run OpenVPN, WireGuard, or another VPN, that works too. Anything that gives your devices a route to each other on a private network is enough for Mirage to connect.
What you can do with it
- Development. Run Xcode builds, Docker containers, and CI jobs on the Mac mini. Connect from your iPad or laptop to check on things. The Mac mini does not thermal-throttle the way a laptop does under sustained load because it has better cooling for its size.
- Media server. Run Plex or Jellyfin off the Mac mini. Store your library on an external drive or NAS. When you need to configure something, connect with Mirage instead of walking over to a monitor.
- Rendering. Kick off Final Cut exports, Blender renders, or Compressor jobs. Check progress from your couch. Walk away and let it work.
- Home automation. Run Homebridge, Home Assistant, or Scrobble 24/7. The Mac mini's low power draw and silent operation make it a good fit for always-on services.
- File server. Share folders over SMB or AFP for other devices on your network. The Mac mini is always on and always available.
Practical tips
A few tips for running this setup day to day:
Keep SSH enabled as a backup. Go to System Settings > General > Sharing and turn on Remote Login. If Mirage ever has trouble connecting, you can SSH in to diagnose the problem.
Set up auto-login if you can. If FileVault is off and you are comfortable with it, auto-login means the Mac boots straight to your desktop after a power failure or restart. Combined with "Start up automatically after a power failure," the Mac recovers on its own with no intervention. If you need FileVault, use the bootstrap daemon instead to unlock from the login screen.
Use ethernet. Wi-Fi is fine for casual use, but ethernet is noticeably more consistent for streaming and is required for reliable Wake-on-LAN.
Update carefully. macOS updates sometimes require you to click through dialogs on a physical display. Before running a major update, either connect a monitor temporarily or make sure the bootstrap daemon is set up so you can handle the post-update login screen remotely.
Get started
Here is the short version:
- Get a Mac mini. The M4 at $599 is the sweet spot for most people.
- Install Mirage Host with a monitor attached, grant permissions, test from another device, then unplug the monitor. Download Mirage Host.
- Set up Tailscale on both devices if you want remote access from outside your home. Free for personal use. Skip this if you only need local access.
After that, put the Mac mini wherever it fits and start using it from whatever device is in front of you.
Your Mac, no monitor required.
Download Mirage free on the App Store. Available for macOS, iOS, iPadOS, and visionOS.
Download on the App Store Download Mirage Host for Mac