WSL changed the game for Windows developers. You get a real Linux environment without the hassle of a full virtual machine. macOS never had anything quite like it. Tools like Parallels or VMware work, but they feel like overkill when all you want is a quick Linux shell that plays nice with your terminal.
Lima fills that gap. It's simple, fast, and built exactly for people who live in the command line.
What is Lima?
Lima stands for Linux Machines. It's an open-source project that spins up lightweight virtual machines on macOS using QEMU. The tool handles all the tedious setup for you: sharing files, forwarding ports, and setting up networking.
It started as a way to run containerd and nerdctl on Macs without Docker Desktop. Now it supports Docker, Podman, Kubernetes, and plain Linux workloads too. Rancher Desktop and Colima both run on top of it under the hood.
Why Lima instead of Parallels or VMware?
Parallels and VMware are great if you need a full desktop environment or heavy GUI apps. Most developers just want a clean Linux box they can reach from their terminal without launching another app.
Lima stays out of your way. No big desktop interface. No extra services running in the background. You type a command, get a shell, and get back to work.
Key Features
It runs great on Apple Silicon with full ARM support and Rosetta for x86 containers when you need them. The VMs stay small and start fast. Everything stays CLI-driven, so it fits right into existing terminal workflows.
Installation
Since most developers use Homebrew, getting it running takes one command:
That's it. You're ready in under a minute.
Basic Commands
Sharing Your Files
By default your home directory mounts read-only inside the VM. If you want to edit code from inside Linux, add a writable mount in the config file.
Edit
~/.lima/default/lima.yaml and add something like this:Then restart the instance:
Ports and Networking
Lima forwards ports automatically. Run a server on port 8080 inside the VM and it just shows up at localhost:8080 on your Mac.
If you want to control the port yourself, set it in the YAML file:
This forwards port 8080 on the Mac to port 80 on the VM.
Lima sets up port forwarding by default. It keeps things simple and works well for most developers. You can give each VM its own IP address instead, but this article doesn't cover that.
Beyond the Basics
You can clone instances, take snapshots, copy files between host and guest, and even set VMs to start automatically when you log in. The tool keeps growing, but the core experience stays simple.
The Bottom Line
If you've ever wanted the WSL experience on a Mac without the bloat, Lima delivers. One Homebrew command and you're running real Linux right next to your macOS workflow. No desktop app. No extra overhead. Just Linux when you need it.


